PHP strtotime错误只在星期天

时间:2017-03-19 17:18:29

标签: php date strtotime

目前我使用以下内容来获取本周和下周的星期一和星期五的日期。

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

width = 1
dx = 0.1
X = np.arange(-width, width, dx)
Y = np.arange(-width, width, dx)
X, Y = np.meshgrid(X, Y)
Z = []
for i in range(len(X)):
    Z.append(np.zeros(len(X[i])))

fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')

ax.plot_wireframe(X, Y, Z)

plt.show()

一切正常,直到白天"星期天"来,像今天一样......那么上面的这些东西只会让我看到星期一,而不是其他日子。星期二,星期三,星期四,星期五ecc不工作,它只会在星期一回来。此错误仅在星期日发生,而不是在其他日子发生。

输出结果:

$curWeekStart = date('d.m', strtotime('monday this week'));
$curWeekEnd = date('d.m', strtotime('friday this week'));

$nextWeekStart = date('d.m', strtotime('monday next week'));
$nextWeekEnd = date('d.m', strtotime('friday next week'));

有谁知道如何解决这个问题?或者您知道替代方案吗?

1 个答案:

答案 0 :(得分:2)

这可能是a bug affected PHP versions 5.6.23 to 5.6.30, 7.0.8 to 7.0.16, and 7.1.0 to 7.1.2的结果。它还affects the DateTime class

该错误已在PHP 7.0.17和7.1.3中得到解决,但仍然存在于PHP 5.6的最新版本中(撰写本文时为5.6.30),now receives only security fixes因此可能获胜得到修复。

将PHP升级到未受影响的版本可能是最佳解决方案,但如果您需要针对受影响的版本you should be able to add a DateInterval to a Datetime进行解决方法并获得所需的结果。