好吧,我这里有这段代码
$rowValue[$y] = '16/08/2013';
$replaceThis = array("/");
$rowValue[$y] = str_replace($replaceThis, "-", $rowValue[$y]);
这将生成string
数据类型的输出,' 16-08-2013'
当我尝试这样做时
$rowValue[$y] = DateTime::createFromFormat('d-M-Y H:i:s e', $rowValue[$y]);
echo $rowValue[$y];
它不起作用,或者只是显示空白......
答案 0 :(得分:1)
检查您正在使用的日期时间格式。来自文档:
http://www.php.net//manual/en/datetime.createfromformat.php
' M'用于"一个月的文本表示,例如1月或9月。"你需要使用' m'或者' n'相反,它用于一个月的数字表示,带或不带前导零。"由于您的字符串表示具有前导0,因此您需要' m'。
您的代码应如下所示:
$rowValue[$y] = DateTime::createFromFormat('d-m-Y H:i:s e', $rowValue[$y]);
答案 1 :(得分:1)
答案 2 :(得分:1)
我不明白为什么' d-M-Y H:i:s e'没有工作..但谢谢,它现在正在工作。还是3分钟直到我接受你的回答
它不起作用,因为你的字符串没有时间。您必须提供字符串的当前格式,即" d-m-Y"在DateTime :: createFromFormat()中。