我有以下代码:
$value = '2012-03-05';
$parts = explode('-',$value);
$value = mktime(0,0,0,$parts[1],$parts[0],$parts[2]);
// output of $value is 2012
mktime()
不应该返回类似于time()
的输出吗?
我的代码出了什么问题?
答案 0 :(得分:5)
使用strtotime
函数将表示时间的字符串转换为unix时间戳编号
$value = "2012-05-25";
$time = strtotime($value." 00:00:00");
//$time = strtotime($value); will do the work as well
答案 1 :(得分:1)
错误地使用了mktime。这里日来临之前不是之后。使用此,
mktime(0,0,0,$parts[1],$parts[2],$parts[0]);
答案 2 :(得分:0)
是的,mktime()应该像time()一样返回一个unix时间戳。如果不是这种情况,您发布的代码不能正确表示您正在执行的代码。
继承人一个演示 http://codepad.org/7RNxk0Oz