我有一些日期格式是混合的,一些是8月12日和其他是12-8月...我怎么才能把它们都做成d-M格式呢?我尝试了以下方法,但似乎不起作用:
$birthday = $dataA[8];
if ($birthday == date('M-d', strtotime($birthday))) {
$birthday = date("d-M", strtotime($birthday));
} else {
$birthday = $dataA[8];
}发布于 2019-08-07 23:25:45
如果您甚至不需要测试年/月组合,而只需要检测文本模式(3个拉丁字母、一个破折号、1个或2个阿拉伯数字),则使用正则表达式,即:
$sBirthday= $dataA[8];
if( preg_match( '#^([A-Z][a-z]{2})-(0?[1-9]|[12][0-9]|3[01])$#', $sBirthday, $aMatch ) {
$sBirthday= $aMatch[2]. '-'. $aMatch[1];
} // Otherwise you already have the correct formathttps://stackoverflow.com/questions/57395733
复制相似问题