Php 为什么strotime(';2016-01-01';)会导致2015年1月1日?
在我的应用程序中有一个报告错误,我在数据库返回的mysql日期使用strotime函数。直到今天出现了一个bug,这一切都很顺利 当我跑步时:Php 为什么strotime(';2016-01-01';)会导致2015年1月1日?,php,strtotime,Php,Strtotime,在我的应用程序中有一个报告错误,我在数据库返回的mysql日期使用strotime函数。直到今天出现了一个bug,这一切都很顺利 当我跑步时: date('j.n.o', strtotime('2016-01-01')) 出于某种原因,我得到了结果“1.1.2015” 但如果我跑 date('j.n.o', strtotime('2016-02-01')) 我得到了“1.2.2016”,这是正确的,但我不知道第一个示例失败的原因 我可以轻松地做一个变通来使这个工作正常,但我特别想知道为什么这
date('j.n.o', strtotime('2016-01-01'))
出于某种原因,我得到了结果“1.1.2015”
但如果我跑
date('j.n.o', strtotime('2016-02-01'))
我得到了“1.2.2016”,这是正确的,但我不知道第一个示例失败的原因
我可以轻松地做一个变通来使这个工作正常,但我特别想知道为什么这个函数会用这个输入返回如此奇怪的结果?我使用PHP5.3和7.0进行了检查,得到了相同的结果尝试使用
Y
而不是o
echo date('j.n.Y', strtotime('2016-01-01'));
o---ISO-8601年编号。该值与Y值相同,只是如果ISO周数(W)属于上一年或下一年,则使用该年。(在PHP 5.1.0中添加)
vs
Y---一年的完整数字表示,4位数字
尝试使用
Y
而不是o
来表示年份
echo date('j.n.Y', strtotime('2016-01-01'));
o---ISO-8601年编号。该值与Y值相同,只是如果ISO周数(W)属于上一年或下一年,则使用该年。(在PHP 5.1.0中添加)
vs
Y---一年的完整数字表示,4位数字
试试这个:
PHP包含用于格式化给定日期或时间的内置日期函数。这些是,
日期(
日期格式()
此函数接受两个可选参数。i、 e.格式和时间戳。代码显示了PHP date()函数的示例
/以dd/mm/YYYY格式返回时间戳的日期
回音日期(“d-m-Y”,time()) 试试这个:
PHP包含用于格式化给定日期或时间的内置日期函数。这些是,
日期(
日期格式()
此函数接受两个可选参数。i、 e.格式和时间戳。代码显示了PHP date()函数的示例
/以dd/mm/YYYY格式返回时间戳的日期
回音日期(“d-m-Y”,time()) o==ISO-8601年编号。该值与Y值相同,只是如果ISO周数(W)属于上一年或下一年,则使用该年。(添加到PHP5.1.0中)源:o==ISO-8601年编号。该值与Y值相同,只是如果ISO周数(W)属于上一年或下一年,则使用该年。(在PHP5.1.0中添加)来源:就是这样。我确信时间是个问题。谢谢成功了。我确信时间是个问题。谢谢