加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP日期格式转换

发布时间:2020-12-13 21:27:59 所属栏目:PHP教程 来源:网络整理
导读:这是我有的: $dateFormat = 'M d,Y';$dateString = 'January 23,2010'; 我需要的是$dateString的时间戳,所以我可以这样做: $newFormattedDate = date('Y-m-d',$timestamp); 我试图使用strtotime函数,但它试图找出格式本身,并不总是工作.在我的情况下,我知
这是我有的:

$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,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);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读