3

可能重复:
在 PHP 中将一种日期格式转换为另一种日期格式

我知道那里有很多帖子,但是没有任何经过验证或接受的答案可以很好地解释这一点!

我正在使用 Wordpress 并使用它来将日期保存到数据库中……</p>

update_post_meta($post->ID, "event_date", $_POST["_wr_event_date"]);

我只是将我想要的日期(如 08.05.2012)输入到_wr_event_date字段中,它成功地存储到数据库中。然而,对于更多的东西,我需要这个日期是可排序的,我想把它转换成一个 unix 时间戳。

如何将我输入的日期值“08.05.2012”(德国日期格式:%d.%m.%Y)转换为代表这个时间的 unix 时间戳?

我想过使用pdate_post_meta($post->ID, "event_date", strtotime($_POST["_wr_event_date"]));,但我想知道这是否是正确的方法,因为我想不出为什么strtotime()应该自动知道我输入的日期格式!?

对此有什么想法吗?先感谢您。

4

2 回答 2

2

只需使用 DateTime(strtotime,工作方式类似,但我更喜欢 DateTime):

$a = new DateTime('08.05.2012');
echo $a->getTimestamp();

strtotime 和 DateTime 库编写得非常好,它们几乎可以检测每种情况,所以你很高兴。

否则,只需在数据库中选择一个 DATE 字段,然后您也可以在那里对其进行排序。

于 2012-05-09T08:51:35.077 回答
0

您还可以使用该mktime功能 - mktime

于 2012-05-09T08:50:19.943 回答