psx / datetime
Java JSR310 时间 API 的 PHP 版本
v3.0.2
2024-09-22 08:37 UTC
Requires
- php: >=8.1
Requires (Dev)
- phpunit/phpunit: ^9.0
- vimeo/psalm: ^5.0
README
关于
PHP 版本的 Java JSR 310 时间 API。本包提供以下类
所有类都是不可变的,这意味着对对象的任何修改都会返回一个新的实例,包含修改。
用法
以下示例代码展示了如何使用该 API。
<?php use PSX\DateTime\Duration; use PSX\DateTime\LocalDate; use PSX\DateTime\LocalDateTime; use PSX\DateTime\LocalTime; use PSX\DateTime\Period; // date time $dateTime = LocalDateTime::parse('2023-03-22T22:56:00Z'); $dateTime = LocalDateTime::of(2023, 3, 22, 22, 56, 0); $dateTime->getYear(); // 2023 $dateTime->getMonth(); // Month::MARCH $dateTime->getMonthValue(); // 3 $dateTime->getDayOfMonth(); // 22 $dateTime->getDayOfWeek(); // 3 $dateTime->getHour(); // 22 $dateTime->getMinute(); // 56 $dateTime->getSecond(); // 0 $dateTime->plusDays(1); $dateTime->minusDays(1); $dateTime->withDayOfMonth(1); echo $dateTime->toString(); // 2016-03-28T23:27:00Z // date $date = LocalDate::parse('2023-03-22'); $date = LocalDate::of(2023, 3, 22); echo $date->toString(); // 2023-03-22 // time $time = LocalTime::parse('23:27:00'); $time = LocalTime::of(23, 27, 0); echo $time->toString(); // 23:27:00 // period $period = Period::parse('P1D'); $period = Period::of(1, 0, 0); echo $period->toString(); // P1D // duration $duration = Duration::parse('P1H'); $duration = Duration::of(1, 0, 0); echo $duration->toString(); // PT1H