给定格式为mdY的日期字符串(例如,“12-09-2011”),如何以“m / d / Y” WITHOUT 采用正则表达式格式显示。
万一你错过了它: 而不使用正则表达式。
我更倾向于使用DateTime::createFromFormat()
来解决这个问题,但我目前使用的服务器上没有5.3.0。
我也更喜欢使用date('m/d/Y', strtotime("12-09-2011"))
,但strtotime()
无法正确识别该格式。它使日期和月份混淆。
答案 0 :(得分:3)
不需要重型火炮。由于您没有重新排列日期组件,因此只需执行简单的string search/replace:
$string = '12-09-2011';
$fixed = str_replace('-', '/', $string);
如果你重新安排了事情,例如把你的m-d-Y变成d / m / y,然后你需要更重的东西:
$string = '12-09-2011';
$parts = explode('-', $string); // array(0 => '12', 1 => '09', 2 => '2011');
$fixed = $parts[1] . '/' . $parts[0] . '/' . $parts[2]; // 09/12/2011
答案 1 :(得分:1)
爆炸怎么样?即
$date = explode('-', "12-09-2011");
echo $date[1] . '/' . $date[0] . '/' . $date[2];
答案 2 :(得分:1)
sscanf("12-09-2011", "%d-%d-%d", $month, $day, $year);
echo "$month/$day/$year";