bvarent/datetimems

具有微秒感知和计算的 DateTime。

v1.1.0 2014-12-02 12:56 UTC

This package is not auto-updated.

Last update: 2024-09-24 04:09:54 UTC


README

这个小型库允许您进行具有微秒精度的计算。PHP 的内置 DateTime 和 DateInterval 类无法做到这一点。不过,DateTime 类确实保留了微秒信息,但在计算中会忽略这些信息。

使用方法

通过 composer 需要此库。

与 DateTime 一样使用。这些类扩展了 DateTime,因此您可以在需要时替换您的旧类。

示例

$dtToday = new \DateTimeMS();
$dtTomorrow = clone $dtToday;
$dtTomorrow->modify("+1 day -1 microsecond");
$interval = $dtToday->diff($dtTomorrow);
print "In between {$dtToday->format('D, H:i:s.u')} and the same second tomorrow
    are $interval->format('%d days, %h hrs, %i mins, %secs and %u microsecs')."

警告

  • 比较运算符(< > = 等)不考虑微秒。由于 PHP 操作符重载不存在,这是不可能实现的。
  • DateTimeMS::modify 无法用于显式设置微秒。
  • DateIntervalMS::modify 未实现。

待办事项

  • 改进 DateTimeMS::modify
  • 实现 DateIntervalMS::modify
  • 扩展单元测试。
  • 测试并考虑性能。