PHP日期格式转换

标签 php date

这是我的:

$dateFormat = 'M d, Y';
$dateString = 'January 23, 2010';

我需要的是 $dateString 的时间戳,所以我可以这样做:

$newFormattedDate = date('Y-m-d', $timestamp);

我尝试使用 strtotime 函数,但它试图找出格式本身,但并不总是有效。在我的情况下,我知道日期字符串和日期格式。

如何将 $timestamp 设置为适当的值以用于 date功能?

编辑:我需要它在 Linux 和 Windows 环境中工作。

编辑:解决方案必须支持 PHP 4 或更高版本

编辑:MySQL 有一个名为 STR_TO_DATE 的函数它采用日期字符串和日期格式并返回 Y-m-d 格式的日期字符串。任何等效的 php 函数也适用于我。

最佳答案

从 PHP5.3 开始,您可以使用 DateTime API

$dt = date_create_from_format('M d, Y', 'January 23, 2010');
echo date_timestamp_get($dt);

或使用 OOP 符号

$dt = DateTime::createFromFormat('M d, Y', 'January 23, 2010');
echo $dt->getTimestamp();

请注意,虽然 DateTime 在 PHP < 5.3 中可用,但上面使用的方法不可用,而您可以使用 -> 模拟 ->getTimestamp() format('U')createFromFormat()

没有简单的解决方法

另一种方法是使用 Zend_Date来自 Zend 框架:

$date = new Zend_Date('Feb 31, 2007', 'MM.dd.yyyy');
echo $date->get(Zend_Date::TIMESTAMP);

关于PHP日期格式转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2332740/

相关文章:

php - 如何使用 Laravel 4 将对象插入到 MongoDB 文档中

php - PHP PDO 语句可以接受表名或列名作为参数吗?

php - 从不同域调用 PHP 函数

python - Pandas 系列的小时值到系列的日期

javascript - 从 'now' 日期时间日期选择器条目减去 7 小时

delphi - 对于多个日历、日期和持续时间,建议使用什么数据结构?

PHP:验证十进制 Mysqli 数据类型

javascript - 禁止在 html 中查看过去的内容/历史记录

javascript - 在 jquery 中第二次单击时执行函数

javascript - iOS 中 JavaScript Date() 函数的行为不一致