【发布时间】:2012-08-28 14:01:12
【问题描述】:
今天与日期打交道,我的头撞到了墙上。 我正在遍历一堆日期时间并将它们与当前日期进行比较以确定它们有多远。
所以我要返回诸如“明天@下午 4 点”、“昨天下午 3 点”、“今天下午 12 点”、“3 天前”、“3 天后”等内容。
一切正常,直到今天/明天/昨天。
当它到达这些日期时,日期差异会返回诸如 -0 和 +0 之类的愚蠢的东西。 我的理论是,可以说……未来 23 小时,甚至未来 10 小时的日期,即使它们发生在“第二天”,也会返回 0 而不是 1。
不幸的是 date_diff 似乎没有返回小数,也不允许我进行任何形式的四舍五入。
这里是一些示例代码:
$difference = $meeting_date->diff($current_date);
$difference = $difference->format('%R%a');
然后我检查这个差整数,看看它是 0、-1、1、 1。 我在必要时处理前面的 + 号。
那些应该是 -1 或 +1 的,有时返回为 -0 或 +0(..what?)
此外,-0 不是 = 0,但根据 PHP,显然小于 -1。
求救,有人帮忙。
我已阅读所有相关问题,这不是重复的,并且与随机 6015 错误无关。同样使用 diff->days 也不是答案。这总是返回一个绝对值而不是负数,这将是一个问题。
【问题讨论】:
标签: php datetime datediff date-comparison