【发布时间】:2014-12-19 06:28:04
【问题描述】:
我正在按照以下格式在英国格式的 URL 中传递日期:
http://www.website.com/index.php?from_date=01/04/2013&to_date=12/04/2013
日期范围为 2013 年 4 月 1 日至 2013 年 4 月 12 日。
然后我使用下面的PHP将其转换为YYYY-MM-DD格式。
<?php
$rpt_from_date = date("Y-m-d", strtotime($_GET["from_date"]) );
$rpt_to_date = date("Y-m-d", strtotime($_GET["to_date"]) );
echo $rpt_from_date;
echo "</br>";
echo $rpt_to_date;
?>
由于某种原因,这不起作用。以上返回以下内容:
2013-01-04
2013-12-04
它正在转换月份和日期。我希望它返回:
2013-04-01
2013-04-12
有人有什么想法吗?
【问题讨论】:
-
strtotime()认为/分隔的日期是美国格式。您的原始 URL 需要使用例如to_date=12-04-2013 -
这与 URL 无关,仅与
strtotime解析日期的方式有关。这已经回答了很多次了...... -
explodeby/并自行解析,如果strtotime无法识别您提供的格式,则您无能为力。