gpt4 book ai didi

php - strtotime 没有以正确的格式返回

转载 作者:行者123 更新时间:2023-12-02 22:13:27 28 4
gpt4 key购买 nike

我有一些 php 可以更改从数据库检索的时间格式:

$selectedDate = $_GET['date'];
$formatedDate = date("Y-d-m",strtotime($selectedDate)); // Y-m-d outputs Y-d-m oddly

echo "<form name='selectedDate' action='info.php' method='GET'>";
echo "<select name='date' onchange='this.form.submit()'>";
echo "<option value=select>Select a Date</option>";
while ($row = mysql_fetch_array($result))
{
$date = date("m-d-Y",strtotime($row['date']));
echo "<option>" . $date . "</option>";
}
echo "</select>";echo "<br />";

echo $selectedDate; // 1.) in: 02-13-2013, 2.) in: 02-12-2013
echo "<br />";
echo $formatedDate; // 1.) out: 1970-01-01, 2.) out: 2013-02-12
echo "<br />";
echo date("Y-m-d");

echo "<noscript>";
echo "<input type='submit' value='Select'>";
echo "</noscript>";
echo "</form>";

现在,对于 $formatedDate,如前所述,如果我使用 Y-m-d 进行输出,我将得到 2013-12-02 而不是 2013-02-12。更不用说即使所有 $selectedDate 在格式化之前都在 m-d-Y 中,它也不会将它们识别为 date。我觉得我想念的是完全愚蠢的东西,但我就是看不到它。

所以我的问题是,为什么 strtotime() 反转我的月份和日期,为什么它不能识别所有日期?有没有更好的方法来完成这项工作?

最佳答案

根据 http://www.php.net/manual/en/datetime.formats.php列表位于:http://www.php.net/manual/en/datetime.formats.date.php

strtotime() 无法识别 'm-d-Y' 格式。

它被解释为最初采用“d-m-Y”格式。 '02-13-2013' 被解释为 '2nd of 13th Month 2013',这是无效的,因此输出 unix 纪元。

你可以尝试用斜杠替换'-'然后它会匹配格式1(m/d/Y)

关于php - strtotime 没有以正确的格式返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14862894/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com