我正在从 excel 文件中读取日期字段。如果日期是正确的日期,我可以成功阅读它。但在某些情况下,我有约会之类的
2012 年 7 月 12 日
由于它不是正确的日期格式,它应该是 07.12.2012。
我的脚本将其读取为 2007 年 12 月 12 日。但我希望输出为 07-12-2012。
那么有什么方法可以检查格式是否为 dd.mm.yy (特殊情况),然后我可以简单地使用
爆炸('.','07.12.12')
并根据我的需要更改日期。
谢谢
使用日期时间对象。
$date = DateTime::createFromFormat('d.m.y', '07.12.12');
echo $date->format('d.m.Y');
注意:我个人建议您保留日期格式标准(d-m-Y
),它由-
&分隔,.
并且此方法仅支持 PHP 版本> = 5.3.0。
已编辑:用于检查您的日期是否在 dmy 中的正则表达式条件
$pattern = '/^[0-9]{2}\.[0-9]{2}\.[0-9]{2}$/';
if(preg_match($pattern,$date,$matches)){
#conversion goes here
}
你也可以使用,
if(substr_count($date,'.') == 2){
#conversion goes here
}
只需检查长度:
$pieces = explode('.', '07.12.12');
if (strlen($pieces[2]) !== 4) {
$pieces[2] = '20' . $pieces[2];
}
// proper date in YYYY-MM-DD format
$date = $pieces[2] . '-' . $pieces[1] . '-' . $pieces[0];