-3

你好我的极客伙伴!

我有这个日期列表:

20-02-2013
19-02-2013
18-02-2013
17-02-2013
16-02-2013
15-02-2013
14-02-2013
13-02-2013

当我对这些日期使用 strtotime() 时,我得到

Thursday
Wednesday
Tuesday
Monday
Saturday
Friday
Thursday

出于某种原因,我今天的日期是星期四。此外,星期六和星期一之间缺少星期日。

我这样做

$weekday = date('D', strtotime("20-02-2013"));

echo $weekday;

请帮忙!

4

2 回答 2

1

检查您的时区是否正确,这是在 php.ini 中设置的,或者可以使用函数声明:

date_default_timezone_set()

请参阅http://php.net/manual/en/function.date-default-timezone-set.php

此外,这里是从 PHP 的 strtotime() 文档中获取的注释。

m/d/y 或 dmy 格式的日期通过查看各个组件之间的分隔符来消除歧义:如果分隔符是斜杠 (/),则假定为美式 m/d/y;而如果分隔符是破折号 (-) 或点 (.),则假定为欧洲 dmy 格式。

确保为正确的格式使用正确的分隔符。

http://php.net/manual/en/function.strtotime.php

于 2013-02-20T12:29:33.457 回答
0

所以,我发现前几天我发布了错误的代码。对此感到抱歉。

我使用的代码是这个

$weekDay = date("l", strtotime("20-02-13"));

echo $weekDay;

这在星期四返回。我不高兴,因为那个日期是星期三。我发现,我必须将 20-02-2013 作为参数放入strtotime(),而不是 20-02-13。

这解决了一切!

于 2013-02-22T08:41:05.450 回答