3

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

4

5 回答 5

5

使用 Unix 时间戳。如果是 mysql 数据,那么您可以像这样存储时间戳,如果不是,那么您也可以将 mysql 日期时间转换为 unix 时间戳。

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

祝你好运。

于 2009-08-27T16:34:34.113 回答
3

还有DateTime类,它对处理时间很有用。

于 2009-08-27T16:38:31.390 回答
1

以我的经验(主要是时间数据采集系统),缺乏适当的“跨度”支持库很快就会导致跳出窗口错误。

我的建议:创建一个 Span 类,预见它从一开始就处理包容性和独占性端点。能够创建具有不同包含语义的跨度通常非常重要:一月 = 跨度 (1/1, 31/1) = 跨度 (1/1, 1/2(, ....

于 2009-08-31T08:28:45.757 回答
1

我更喜欢使用 unix 时间戳,然后你可以检查

if($time > $lower && $time < $upper)
  echo $time is inside bounds
于 2009-08-27T16:44:24.000 回答
0

如果您的跨度从未跨越其边界(1970/01/01 到 2037/03/xx),则绝对是 Unix 时间戳。如果您永远不需要知道跨度的长度(从 2009/03/05 到 2009/08/22 之间有多少天?),那么 YYYYMMDDHHMMSS 格式(或其他类似格式)的字符串可以很容易地确定日期时间是否为在其他两个日期时间值之间。

于 2009-08-27T16:45:18.913 回答