如何转换" Day,dd Month yyyy"到" yyyy-mm-dd"在PHP中

时间:2014-08-15 12:06:57

标签: php date

我该如何转换:

Thursday, 14 August 2014

到php:

2014-08-14

我尝试过strtotime(),trim()等等,并意识到这不是它。你能指导我这个吗?

3 个答案:

答案 0 :(得分:7)

对于我而言,这对我来说很合适。

$time = strtotime("Thursday, 14 August 2014");
echo date("Y-m-d",$time);

答案 1 :(得分:2)

如果您遇到将人类可读日期转换为数字值的问题,则必须重新考虑您的设计。您的代码应仅适用于32或64位纪元值(自1970年1月1日起的秒数),然后仅在需要时将其转换为适当的格式。

无论如何,只需这样做:

$time = strtotime(stripslashes("Thursday, 14 August 2014"));
echo date("Y-m-d",$time);

记得去除斜线和逗号,因为它们会混淆strtotime

我会避免这样的解决方案,因为它不是便携式的。您将找到这样的解决方案无法运行的PHP版本,而且稍微不同的输入字符串可能会使strtotime失败,最重要的是 - >现场问题!!!! (即,如果字符串是意大利语,该怎么办?)

只需使用纪元价值并进行转化,即可向最终用户展示! :-)

答案 2 :(得分:0)

首次转换使用strtotime()将字符串转换为时间,然后在php中使用date()函数执行此操作。此函数格式化本地日期和时间,并返回格式化的日期字符串。

您的代码应如下所示

<?php
$orignaltime = strtotime("Thursday, 14 August 2014");
echo date("Y-m-d",$orignaltime);