Php 以dd/mm/yyyy格式指定日期时,strotime()未返回正确的值
我想将格式为Php 以dd/mm/yyyy格式指定日期时,strotime()未返回正确的值,php,date-format,Php,Date Format,我想将格式为dd/mm/yyyyy的日期2010年9月24日转换为格式为yyy-mm-dd的日期2010年9月24日 这项工作: date("Y-m-d",strtotime("09/24/2010")); 但这并不是: date("Y-m-d",strtotime("24/09/2010")); // it returns '1970-01-01' 知道为什么吗?strotime在给定一个字符串时,尽可能猜测您的意思,但它不能处理所有的日期格式。在您的示例中,它可能认为您试图引用第24个月
dd/mm/yyyyy
的日期2010年9月24日
转换为格式为yyy-mm-dd
的日期2010年9月24日
这项工作:
date("Y-m-d",strtotime("09/24/2010"));
但这并不是:
date("Y-m-d",strtotime("24/09/2010")); // it returns '1970-01-01'
知道为什么吗?
strotime
在给定一个字符串时,尽可能猜测您的意思,但它不能处理所有的日期格式。在您的示例中,它可能认为您试图引用第24个月,这是无效的,并返回0,然后将该日期视为unix纪元(您得到的日期)
您可以使用和函数解决此问题,如下所示:
$date = "24/09/2010";
$dateArr = explode("/",$date);
$timeStamp = mktime(0,0,0,$dateArr[1],$dateArr[0],$dateArr[2]);
$newFormat = date("Y-m-d",$timeStamp);
根据php,说明了有效的php格式。所以基本上你给的是无效的 或者,您可以使用,或者您所说的, 日期(Y-m-d),标准时间(2010年9月24日) 将起作用,因为日期格式--“09/24/2010”是正确的, 但是“24/09/2010”不是正确的日期格式。 你可以找到有用的东西