ryanwinchester / carbonize
用于克隆和创建新的Carbon实例的Carbon助手。
v0.2.0
2017-10-15 05:45 UTC
Requires
- php: ^5.6|^7.0
- nesbot/carbon: 1.21.*
Requires (Dev)
- codeclimate/php-test-reporter: ^0.4.4
- phpunit/phpunit: ^5.7|^6.4
This package is auto-updated.
Last update: 2024-08-28 22:51:03 UTC
README
Carbon 助手,用于从其他Carbon对象、DateTime|Immutable对象、日期字符串、时间戳或null(对于 now
)创建新的Carbon实例。
有时候,我们需要处理已经存在或正在进行的工程项目,这些项目充满了魔法和不一致的日期格式。这将是时间戳吗?日期字符串?Carbon实例?只要它是某种形式的日期和时间,这重要吗? ¯\_(ツ)_/¯
public function doMyThing($datetime) { // Whatever it was, it is _now_ a NEW carbon instance $datetime = carbonize($datetime); // do stuff with your carbon instance }
您可以使用它作为 carbonize()
、carbon()
或 Carbonize\Carbonize::toCarbon()
。
安装
composer require ryanwinchester/carbonize
这不会将carbon作为依赖项安装,因此请自行添加。
重要提示:请使用Carbon 1.21(不是1.22)直到时区问题得到解决。(briannesbitt/Carbon#863)
功能
carbonize() == Carbon::now("UTC"); $carbon = new Carbon(); carbonize($carbon) == $carbon->copy(); $dt = new DateTime(); carbonize($dt) == Carbon::instance($dt); $dtImmutable = new DateTimeImmutable(); carbonize($dtImmutable) == Carbon::instance(new DateTime($dtImmutable->format(DateTime::ATOM))); carbonize(1507957785) == Carbon::createFromTimestamp(1507957785, "UTC"); carbonize("1507957785") == Carbon::createFromTimestamp(1507957785, "UTC"); carbonize("2017-01-01 12:04:01") == Carbon::parse("2017-01-01 12:04:01", "UTC"); carbonize("3 months ago") == Carbon::parse("3 months ago", "UTC");
许可证
MIT
鸣谢
备注
尽管Carbon相当不错,但如果可能的话,请使用 Chronos。(https://github.com/cakephp/chronos)
<3 Chronos,不可变性永远是最棒的 ᕙ(⇀‸↼‶)ᕗ