我有一个包含这一行的脚本:
$showdate = mktime(18, 59, 0, 08, 02, 2015);
应该将变量设置为1438556340(日期为2015年8月2日下午6:59)
但是,由于一些疯狂的原因,截至今天上午,它将变量设置为1417564740(2014年12月2日)。
脚本在几周之内没有任何改变。为什么突然改变?有没有办法解决它?
谢谢!
答案 0 :(得分:0)
正如Sami Kuhmonen在问题的第一条评论中指出的那样,当你的意思是8(十进制)时,你不应该使用08(invalid octal literal)。
<?php
echo mktime(18, 59, 0, 08, 02, 2015), "\r\n";
echo mktime(18, 59, 0, 8, 2, 2015), "\r\n";
echo 8, "\r\n";
echo 08, "\r\n";
打印
1417543140
1438534740
8
0
答案 1 :(得分:0)
08被解析为八进制数
要使用八进制表示法,请在数字前面加上0(零)。
08并不是八进制,所以返回0
八进制:0 [0-7] +
mktime在文档中有以下内容
month相对于上一个月末的月份数 年。值1到12表示一年中的正常日历月 有问题。小于1的值(包括负值)参考 上一年的月份是相反的顺序,所以0是12月,-1 是11月等。大于12的值参考相应的 次年的月份。
因此它去年12月