您好我正在努力转换字符串:
$file = '150220';
成为mysql日期格式。
我试过这个
$newDate = date("Y-m-d", strtotime($file));
但它返回以下2015-02-24(今天是24日)
答案 0 :(得分:4)
请参阅:http://php.net/manual/en/datetime.createfromformat.php
所以你可以使用它:
$dateTime = DateTime::createFromFormat('ymd', $file);
$newDate = $dateTime->format('Y-m-d');
答案 1 :(得分:1)
strtotime
是一个很棒的功能。它适用于您提供YYYY-MM-DD格式但不适用于YY-MM-DD。
编辑:如评论中所述,您必须通过预先添加' 20'将字符串转换为有效的ISO8601 Notations格式。 - 这可以通过文档"
中指定的strtotime来理解这将适用于未来85年的64位系统(在32位系统上直到2038年)
$file = '150220';
$newDate = date("Y-m-d", strtotime("20$file"));
你必须小心使用strtotime,因为它会在出现错误时返回false,这会使今天使用date
。
编辑:如果你想-1:首先,这段代码有效,它解释了为什么运算代码不起作用,然后考虑使用"添加注释"按钮。感谢。