这是我有的:
$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,上面使用的方法不是,虽然您可以使用 - >格式(‘U’)模拟 – > getTimestamp(),但createFromFormat()没有简单的解决方法
另一种方法是使用Zend Framework的Zend_Date:
$date = new Zend_Date('Feb 31, 2007', 'MM.dd.yyyy');
echo $date->get(Zend_Date::TIMESTAMP);
标签:php,date
来源: https://codeday.me/bug/20190919/1812515.html