将任何日期字符串转换为不带时区的时间戳
2022-08-31 00:28:07
我正在获取xml和rss源,并将数据放入数据库中。到目前为止,我遇到了两种不同的日期格式...
Wed, 21 Jul 2010 00:28:50 GMT
和
2010-07-20T17:33:19Z
我相信还会有更多。我的日期的postgresql数据库是没有时区的时间戳。php中是否有现有函数,或者是否有将任何日期字符串转换为没有时区的时间戳的过程(Y-m-d H:i:s)?
我正在获取xml和rss源,并将数据放入数据库中。到目前为止,我遇到了两种不同的日期格式...
Wed, 21 Jul 2010 00:28:50 GMT
和
2010-07-20T17:33:19Z
我相信还会有更多。我的日期的postgresql数据库是没有时区的时间戳。php中是否有现有函数,或者是否有将任何日期字符串转换为没有时区的时间戳的过程(Y-m-d H:i:s)?
与 strtotime 一起使用:date
$date = date('Y-m-d H:i:s', strtotime('Wed, 21 Jul 2010 00:28:50 GMT'));
echo $date;
结果:
2010-07-21 05:28:50
.
$date = date('Y-m-d H:i:s', strtotime('2010-07-20T17:33:19Z'));
echo $date;
结果:
2010-07-20 22:33:19
您根本不需要转换它。PostgreSQL应该自动转换:
postgres=# create table test_tz (f1 timestamp without time zone);
CREATE TABLE
postgres=# insert into test_tz (f1) values ('Wed, 21 Jul 2010 00:28:50 GMT');
INSERT 0 1
postgres=# insert into test_tz (f1) values ('2010-07-20T17:33:19Z');
INSERT 0 1
postgres=# select f1 from test_tz;
f1
---------------------
2010-07-21 00:28:50
2010-07-20 17:33:19