如何转换“日,月”yyyy"“;yyyy-mm-dd"在php中


How to convert "Day, dd Month yyyy" to "yyyy-mm-dd" in php

如何转换:

Thursday, 14 August 2014

:

2014-08-14

我尝试了strtotime(), trim()等。然后意识到不是这样的。你能在这个问题上指导我吗?

使用strtotime对我来说效果很好。

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

如果您面临将人类可读的日期转换为数值的问题,则必须重新考虑您的设计。你的代码应该只使用32位或64位epoch值(从1970年1月1日开始的秒数),然后只在需要时将它们转换为适当的格式。

在任何情况下,只要这样做:

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

记住去掉斜杠和逗号,因为它们会混淆strtotime

我会避免这样的解决方案,因为它是不可移植的。您会发现在PHP版本中这样的解决方案不起作用,此外,稍微不同的输入字符串可能会使strtotime失败,最重要的是-> locale很重要!!!!(例如,如果字符串是意大利语呢??)

只需使用epoch值并进行转换,仅用于向最终用户显示它们!: -)

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

你的代码应该是这样的

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