当前位置: 首页 > 编程笔记 >

php将日期格式转换成xx天前的格式

上官英哲
2023-03-14
本文向大家介绍php将日期格式转换成xx天前的格式,包括了php将日期格式转换成xx天前的格式的使用技巧和注意事项,需要的朋友参考一下

本文实例讲述了php将日期格式转换成xx天前格式的方法。分享给大家供大家参考。具体如下:

这段代码可以把时间格式化成3天前,5秒前,2年前的形式

// convert a date into a string that tells how long ago
// that date was.... eg: 2 days ago, 3 minutes ago.
function ago($d) {
 $c = getdate();
 $p = array('year', 'mon', 'mday', 'hours', 'minutes', 'seconds');
 $display = array('year', 'month', 'day', 'hour', 'minute', 'second');
 $factor = array(0, 12, 30, 24, 60, 60);
 $d = datetoarr($d);
 for ($w = 0; $w < 6; $w++) {
 if ($w > 0) {
  $c[$p[$w]] += $c[$p[$w-1]] * $factor[$w];
  $d[$p[$w]] += $d[$p[$w-1]] * $factor[$w];
 }
 if ($c[$p[$w]] - $d[$p[$w]] > 1) { 
  return ($c[$p[$w]] - $d[$p[$w]]).' '.$display[$w].'s ago';
 }
 }
 return '';
}
// you can replace this if need be. 
// This converts my dates returned from a mysql date string 
// into an array object similar to that returned by getdate().
function datetoarr($d) {
 preg_match("/([0-9]{4})(\\-)([0-9]{2})(\\-)([0-9]{2})([0-9]{2})(\\:)([0-9]{2})(\\:)([0-9]{2})/",$d,$matches);
 return array( 
 'seconds' => $matches[10], 
 'minutes' => $matches[8], 
 'hours' => $matches[6], 
 'mday' => $matches[5], 
 'mon' => $matches[3], 
 'year' => $matches[1], 
 );
}

希望本文所述对大家的php程序设计有所帮助。

 类似资料:
  • 问题内容: 我有一个输出数据数组的PHP脚本。然后将其转换为使用函数。 我的问题是我的数组中有一个日期,但日期格式不正确。 我怎样才能在PHP中转换它呢? 代替上面的日期,我需要等效的JavaScript函数 新的Date() 当我输出上述内容时,我得到以下内容:“ Fri Jun 01 2012 11:08:48 GMT + 0100(GMT Daylight Time)”但是,如果我将PHP日

  • 问题内容: 我在使用此代码的php中有一个日期字段: 我如何将其转换为MySql格式的Registry,以便包含在db中。它是否遵循以下格式:date(’Ymd’strtotime($ date);.我问的原因是因为我尝试了此方法的变体,但似乎无法正常工作。显示为1970还是其他变体对此非常感谢 问题答案: 1.如果您的MySQL列为: 2.如果您的MySQL列为: 您无需工作,因为它不适用于破折

  • 问题内容: 我正在尝试将日期从转换为(但是在SQL中不是); 但是我不知道date函数如何需要时间戳,并且我无法从该字符串获取时间戳。 这怎么可能? 问题答案: 使用和: (请参阅PHP网站上的strtotime和date文档。) 请注意,这是对原始问题的快速解决方案。为了进行更广泛的转换,您实际上应该使用该类来解析和格式化:-)

  • 问题内容: 有没有一种简单的方法可以将一种日期格式转换为PHP中的另一种日期格式? 我有这个: 但是我当然希望它返回一个当前日期,而不是返回“黎明”。我究竟做错了什么? 问题答案: 第二个参数必须是正确的时间戳(自1970年1月1日以来的秒数)。您正在传递一个字符串,date()无法识别。 您可以使用 strtotime() 将日期字符串转换为时间戳。但是,即使strtotime()也无法识别格式

  • 问题内容: 我正在寻找一种简单的方法来将PHP日期格式(即Ymd H:i:s)转换为javascript日期格式(分别为YYYY-mm-dd HH:mm:ss)。 我不想转换日期 (这个问题已经有答案),我正在寻找工具/函数来 转换格式代码(我尚不知道,因为它是由用户在应用程序中定义的) 。 用户可以通过PHP date()即“ Y / m / d H:i”或“ YdmHi”定义的不同方式来定义它

  • 我正在寻找将PHP日期格式(即Y-m-d H:I:s)转换为javascript日期格式(分别为YYYY-mm-dd HH:mm:ss)的简单方法。 我不想转换日期(这个问题已经有答案),我正在寻找工具/函数来转换格式代码(我还不知道,因为它是由应用程序中的用户定义的)。 用户可以用PHP date()定义的不同方式来定义它,即“Y/m/d H:i”或“Y-d-m H-i”,在javascript