繁体   English   中英

PHP 日期转换 YYMMDD 到 yyyy-mm-dd

[英]PHP Date Conversion YYMMDD to yyyy-mm-dd

嗨,我正在努力转换字符串:

$file = '150220';

转换成 mysql 日期格式。

我试过这个

$newDate = date("Y-m-d", strtotime($file));

但它返回以下 2015-02-24(24 是今天的日期)

请参阅: http : //php.net/manual/en/datetime.createfromformat.php

所以你可以使用这个:

$dateTime = DateTime::createFromFormat('ymd', $file);
$newDate = $dateTime->format('Y-m-d');

strtotime是一个很棒的函数。 它适用于您提供 YYYY-MM-DD 格式但不适用于 YY-MM-DD 格式的情况。

编辑:如评论中所述,您必须“通过在前面加上 '20' 将字符串转换为有效的 ISO8601 符号格式 - 这被 strtotime 理解为文档中指定的”

这将适用于 64 位系统的未来 85 年(直到 2038 年在 32 位系统上)

$file = '150220';
$newDate = date("Y-m-d", strtotime("20$file"));

你必须小心 strtotime 因为它在错误时返回 false 这将使date使用今天的日期。

编辑:如果你想 -1 :首先,这段代码有效,它解释了为什么 op 的代码不起作用,然后考虑使用“添加评论”按钮。 谢谢。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM