Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何转换;年月日;至;yyyy-mm-dd“;在php中_Php_Date - Fatal编程技术网

如何转换;年月日;至;yyyy-mm-dd“;在php中

如何转换;年月日;至;yyyy-mm-dd“;在php中,php,date,Php,Date,如何将其转换为: Thursday, 14 August 2014 要在php中执行此操作,请执行以下操作: 2014-08-14 我试过strotime()、trim()等。。然后意识到不是这样。你能给我介绍一下这个吗?用strotime对我来说很好 $time = strtotime("Thursday, 14 August 2014"); echo date("Y-m-d",$time); 如果您面临将人类可读的日期转换为数值的问题,您必须重新考虑您的设计。您的代码应仅适用于32或6

如何将其转换为:

Thursday, 14 August 2014
要在php中执行此操作,请执行以下操作:

2014-08-14

我试过strotime()、trim()等。。然后意识到不是这样。你能给我介绍一下这个吗?

用strotime对我来说很好

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

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

在任何情况下,只需执行以下操作:

$time = strtotime(stripslashes("Thursday, 14 August 2014"));
echo date("Y-m-d",$time);
记住去掉斜杠和逗号,因为它们会混淆strotime

我会避免这样的解决方案,因为它不可移植。你会发现这种解决方案在PHP版本中不起作用,而且稍有不同的输入字符串可能会使strotime失败,最重要的是->语言环境问题!!!!(即,如果字符串是意大利语怎么办??)


只需使用历元值并进行转换,只需将其显示给最终用户即可!:-)

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

您的代码应该如下所示

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

回显日期('yyyy-mm-dd',标准时间($olddate))@Daan:您的解决方案无效!见亚历克斯的回答。输出将是“14141414-0808-1414”@Daan,接近但不正确-尝试使用date('Y-m-d',strotime($olddate));-当然,这是假设输入是有效日期。确保您检查first-strotime($olddate)是否会返回布尔值false,如果日期无效,您将以1969-12结束-31@SamuelFullman你说得对,我读了TS的标题,然后把它打了进去。太好了。成功了!Thankx AlexI在其他地方发表了评论,但请确保检查您的日期是否有效,即如果(strotime($olddate)==false/*boolean如果无效*/){//您无法进行转换!}如果有效,您应该将其标记为正确。