首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP中mktime()的错误输出

问PHP中mktime()的错误输出
EN

Stack Overflow用户
提问于 2012-10-28 18:44:37
回答 1查看 103关注 0票数 0

我正在尝试设置一个php,它设置的日期为每年的9月1日。我使用CRON来声明每次日期是9月7日,那么php实际上会更新数据库中日期比9月7日早一周的行。

现在,下面的代码是我在10月28日测试的,当我回显$selectedDate时,它会输出2012-10-28,这没问题。但是当我将日期更改为9月1日时,它输出的`2011-12-01显然是不正确的。它应该输出‘2013 -09-01’,因为下一个9月日期将在2013年。然后在2013年9月1日过后,年份应该改为2014年,依此类推。

如何获得要输出的正确日期?

以下是代码:

代码语言:javascript
复制
$createDate = mktime(0,0,0,09,01,date("Y"));
$selectedDate =  date('Y-m-d', ($createDate));
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-28 18:47:45

这是因为09被解释为八进制9,这是无效的。

当您传递9而不是09时,它会按预期工作

代码语言:javascript
复制
$createDate = mktime(0,0,0,9,1,date("Y"));
//                         ^ ^  No preceeding 0s.
$selectedDate =  date('Y-m-d', ($createDate));

var_dump($createDate, $selectedDate);
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13108143

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档