给定一个特定DateTime值,我如何显示相对时间,如:
我看到这个问题已经解决了Java,JavaScript和PHP,但不是C#.那么,如何计算C#中两个日期之间的天数呢?
我试图转换格式的时间戳,2009-09-12 20:57:19并将其转换为类似于3 minutes agoPHP的东西.
我找到了一个有用的脚本来做到这一点,但我认为它正在寻找一种不同的格式作为时间变量.我想要修改以使用此格式的脚本是:
function _ago($tm,$rcs = 0) {
$cur_tm = time();
$dif = $cur_tm-$tm;
$pds = array('second','minute','hour','day','week','month','year','decade');
$lngh = array(1,60,3600,86400,604800,2630880,31570560,315705600);
for($v = sizeof($lngh)-1; ($v >= 0)&&(($no = $dif/$lngh[$v])<=1); $v--); if($v < 0) $v = 0; $_tm = $cur_tm-($dif%$lngh[$v]);
$no = floor($no);
if($no <> 1)
$pds[$v] .='s';
$x = sprintf("%d %s ",$no,$pds[$v]);
if(($rcs == 1)&&($v >= 1)&&(($cur_tm-$_tm) > 0))
$x .= time_ago($_tm);
return $x;
}
Run Code Online (Sandbox Code Playgroud)
我认为在前几行中脚本试图做一些看起来像这样的事情(不同的日期格式数学):
$dif = 1252809479 - 2009-09-12 20:57:19;
Run Code Online (Sandbox Code Playgroud)
我如何将我的时间戳转换为(unix?)格式?
有没有快速的方法来计算PHP中的日期差异?例如:
$date1 = '2009-11-12 12:09:08';
$date2 = '2009-12-01 08:20:11';
Run Code Online (Sandbox Code Playgroud)
然后做一个计算,$ date2减去$ date1
我读了php.net文档,但没有运气.有快速的方法吗?
我有三个字符串(当前时间,日落和日出),如何查看当前时间是否在日出和日落之间?
$current_time = "10:59 pm";
$sunrise = "5:42 am";
$sunset = "6:26 pm";
Run Code Online (Sandbox Code Playgroud)
编辑:我不明白为什么我得到这么多的选票.我想这个网站是想问你是否不能自己做点什么.
我无法弄清楚如何将时间转换为数字因为上午/下午这就是为什么我问这个问题.我没有看到任何类似的问题,所以我问道.
我需要提供2个日期之后的年数.这是我的代码:
function daysDifference($endDate, $beginDate)
{
$date_parts1=explode("-", $beginDate);
$date_parts2=explode("-", $endDate);
$start_date=gregoriantojd($date_parts1[1], $date_parts1[2], $date_parts1[0]);
$end_date=gregoriantojd($date_parts2[1], $date_parts2[2], $date_parts2[0]);
$diff = $end_date - $start_date;
echo $diff;
$years = floor($diff / (365.25*60*60*24));
return $years;
}
echo daysDifference('2011-03-12','2008-03-09');
Run Code Online (Sandbox Code Playgroud)
在$diff给出了一些输出.当我回来时$years,我正在0.我做错了什么?
我试图获得两个日期时间之间的差异,并将其作为一个返回datetime.我找到了使用的例子,diff但我似乎无法做到正确.
$timein = date("Y-m-d H:i:s");
$timeout = date("Y-m-d 20:00:00");
$totaltime = $timein->diff($timeout);
Run Code Online (Sandbox Code Playgroud)
但是$totaltime记录0000-00-00 00:00:00到我的DB.这是因为我没有格式化我的全时变量吗?
可能重复:
在PHP中将一种日期格式转换为另一种日期格式
从...开始:
$date = '2012-09-09 03:09:00'
Run Code Online (Sandbox Code Playgroud)
我想做两件事.
"2012-09-09".任何人都可以帮我解决这个问题吗?
我将商店的开始时间称为microtime(),结束时间为microtime()到数据库中.
现在我想计算脚本执行秒/分钟/小时的时间.
我怎么能用PHP做?