oat-sa/lib-tao-dtms

用于处理具有微秒精度的日期和时间的类

v1.0.2 2022-08-02 13:53 UTC

This package is auto-updated.

Last update: 2024-09-16 15:16:06 UTC


README

支持微秒的 DateTime 和 DateInterval 类

注意!此包尚未完全测试,因此请谨慎使用。

这个小巧的包包含两个类,仅是对内置 PHP 类的包装,用于处理日期和时间,但支持微秒操作。

安装

包使用 PSR-4 标准,因此要使用这些类,只需使用 Composer 安装包。

$ composer require oat-sa/lib-tao-dtms
{
    "require": {
        "oat-sa/lib-tao-dtms": "~0.5"
    }
}
<?php
require 'vendor/autoload.php';

use oat\dtms\DateTime;
use oat\dtms\DateInterval;

用法

安装后,您可以创建具有微秒的 DateTime 实例。

$dt = new DateTime('2015-08-08 10:10:10.123456');
echo $dt->format('Y-m-d H:i:s.u'); // 2015-08-08 10:10:10.123456

您还可以使用微秒修改 DateTime。支持的单词有 "microseconds","microsecond","micro","mic"。

$dt = new DateTime('2015-08-08 10:10:10.123456');
$dt->modify('123456 micro');
echo $dt->format('u'); // 246912

当然,此包允许使用支持微秒的 ISO8601 真实格式进行日期区间。

$interval = new DateInterval('PT2.2S');
echo $interval->format('PT%sS'); // PT2.200000S 

DateTime 类支持标准方法,如 addsubdiffformat 等。

要与包一起使用本机 DateTime 和 DateInteval 类,请使用其根命名空间。

$uDateTime = new DateTime(); // DateTime from package
$nativeDateTime = new \DateTime(); // built in DateTime

注意!当前包可能与不同的时区不正确地工作,因此需要进行额外的检查和更多的测试。

如果您发现错误或异常行为,请发送给我问题报告,谢谢。

致谢

由 Ivan Klimchuk 为 Open Assessment Technologies S.A. 开发

许可证

GPLv2。请参阅 LICENSE 获取更多信息。