我有一个由不可调整的数据提供的荒谬字符串,我需要以一致的方式将其转换为时间戳。
5162016
有时是两位数的月份,有时是前导零,有时不是。
我尝试使用DateTime
$time = 'DateTime::createFromFormat("njY", "5162016");
$timestamp = $time->getTimestamp();
我尝试了njY
和mdY
,但都返回了一个转换为05/01/0020
的时间戳
任何想法都将不胜感激。
规范化数据,使月份始终以零开头。
$normalizedDate = str_pad("5162016", 8, 0, STR_PAD_LEFT);
$time = 'DateTime::createFromFormat("mdY", $normalizedDate);
$timestamp = $time->getTimestamp();
如果一个月的日期始终是带前导零的2位数字,则此仅有效。