与时间跨度一起工作的最佳方法是什么?

3

在PHP中,有没有适用于时间跨度的首选类或方法?我感兴趣的主要功能是检查日期是否在时间跨度内,或为下限和上限生成时间戳。

5个回答

5

使用Unix时间戳。如果是MySQL数据,您可以像这样存储时间戳,如果不是,则还可以将MySQL日期时间转换为Unix时间戳。

php.net网站上有关于此功能的大量文档,但它们都相对简单易用。

祝好运。


3

此外,还有DateTime类,它对处理时间非常有用。


1

我更喜欢使用Unix时间戳,这样你就可以检查了。

if($time > $lower && $time < $upper)
  echo $time is inside bounds

1
在我的经验中(主要是时间数据采集系统),缺乏一个合适的“Span”支持库很快就会导致严重的错误。
我的建议是:创建一个Span类,并从一开始就预见它处理包含和不包含端点。能够创建具有不同包含语义的跨度通常非常重要:1月= Span(1/1,31/1)= Span(1/1,1/2(...)。

0

如果您的时间跨度从未超出Unix时间戳的范围(1970/01/01至2037/03/xx),那么Unix时间戳肯定是最好的选择。如果您从不需要知道时间跨度的长度(例如2009/03/05到2009/08/22之间有多少天?),那么以YYYYMMDDHHMMSS格式(或其他类似格式)表示的字符串同样适用于确定日期时间是否在两个其他日期时间值之间。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接