momentjs.com 上的库非常酷。但是,如果您只是想要一些简单的东西来计算两个时间值之间的“日期差”,那么有一种相对简单的方法可以做到这一点。我假设您希望它在 Javascript 中完成。
您需要做的就是清除两个日期的小时/分钟/秒/毫秒字段,计算它们的天数差异。将下面的脚本放在任何网络浏览器中,您就会看到它是如何工作的。
<script>
function foo() {
var d1 = new Date(2013, 8, 12, 13, 40, 1, 333); // any date value, last 4 params can be anything
var d2 = new Date(2013, 9, 3, 11, 42, 32, 533);
d1.setHours(0); d1.setMinutes(0); d1.setSeconds(0); d1.setMilliseconds(0);
d2.setHours(0); d2.setMinutes(0); d2.setSeconds(0); d2.setMilliseconds(0);
daysLeft = (d2.getTime() - d1.getTime())/(24*60*60*1000);
alert('Dear customer, there is(are) ' + daysLeft + ' day(s) left on your order!' );
}
</script>
<a href="#" OnClick="foo()">Show Remaining Days on Order</a>
编辑:添加 PHP 版本
<?php
$d1 = New DateTime('2013-08-28 06:25:00');
$d2 = new DateTime(); // now
$drip = 55;
$interval = $d2->diff($d1); // time difference
$days_left = $drip - $interval->format('%a'); // in days, subtract from drip
echo "There are $days_left days left\n";
?>