【发布时间】:2012-01-23 00:30:11
【问题描述】:
我目前有以下代码
$TimelineEvents[$i]["Date"] = date("F j, Y", strtotime($Date));
这很好用...直到您想要存储 1970 年 1 月 1 日之前的日期。
因为我正在制作时间线,所以这是一个相当重要的功能。我可以使用什么替换功能?
谢谢 丹尼
【问题讨论】:
我目前有以下代码
$TimelineEvents[$i]["Date"] = date("F j, Y", strtotime($Date));
这很好用...直到您想要存储 1970 年 1 月 1 日之前的日期。
因为我正在制作时间线,所以这是一个相当重要的功能。我可以使用什么替换功能?
谢谢 丹尼
【问题讨论】:
您应该使用DateTime 类,它将满足您的需求:
这些函数允许您从运行 PHP 脚本的服务器获取日期和时间。您可以使用这些函数以多种不同方式格式化日期和时间。
日期和时间信息在内部存储为 64 位数字,因此支持所有可以想象的日期(包括负年份)。 范围从过去大约 2920 亿年到未来相同。
例子:
$date = DateTime::createFromFormat("Y-m-d", $Date);
$TimelineEvents[$i]["Date"] = $date->format("F j, Y");
【讨论】:
您可以改用DateTime class:
$dateTime = new DateTime($Date);
$TimelineEvents[$i]["Date"] = $dateTime->format('F j, Y');
【讨论】:
DateTime 理解的标准格式,您不需要从Tim Cooper's answer 中所示的格式创建。这就是两者的本质区别。