将日期转换为左,周,小时和月时,我遇到了问题。
这是我的代码:
$time_elapsed = time() - $createDate;
$hours = round($time_elapsed / 3600);
$days = round($time_elapsed / 86400 );
$weeks = round($time_elapsed / 604800);
$months = round($time_elapsed / 2600640 );
但是当我显示例如$months
时,我得到:565
$createDate =1470165198; // Created with time(); 15 minutes ago
假设显示0
没有?因为他们之间差异大约15分钟。
答案 0 :(得分:0)
$ create_date必须是整数而不是字符串 从而
$createDate = 1470165198; // no quotes
答案 1 :(得分:0)
如果您使用PHP DateTime类,可以像这样轻松完成
$start = new DateTime('2015-08-01 00:00:00'); // instead of your time()
$end = new DateTime('2016-09-02 01:01:01');
$interval = $start->diff($end);
echo $interval->format('%y year %m Months %d Days %i Minutes %s Seconds');
结果:
+1 year +1 Month +1 Day +1 Minute +1 Second
现在,如果您所需的输出不同,您可以根据需要使用格式。
使用您的$createDate = time()
时间戳初始化DateTime对象: -
$start = new DateTime();
$start->setTimestamp($createDate);
$end = new DateTime('now');
$interval = $start->diff($end);
echo $interval->format('%y year %m Months %d Days %i Minutes %s Seconds');