这是我有的:
$dateFormat = 'M d, Y';
$dateString = 'January 23, 2010';
Run Code Online (Sandbox Code Playgroud)
我需要的是一个时间戳,$dateString所以我可以这样做:
$newFormattedDate = date('Y-m-d', $timestamp);
Run Code Online (Sandbox Code Playgroud)
我试图使用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);
Run Code Online (Sandbox Code Playgroud)
或者使用OOP表示法
$dt = DateTime::createFromFormat('M d, Y', 'January 23, 2010');
echo $dt->getTimestamp();
Run Code Online (Sandbox Code Playgroud)
请注意,虽然DateTime是在PHP <5.3中提供的,上面所用的方法是不和,而你可以模拟->getTimestamp()用->format('U'),对于没有简单的解决方法createFromFormat()
另一种方法是使用Zend_DateZend Framework:
$date = new Zend_Date('Feb 31, 2007', 'MM.dd.yyyy');
echo $date->get(Zend_Date::TIMESTAMP);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2731 次 |
| 最近记录: |