【发布时间】:2012-10-17 10:20:00
【问题描述】:
我希望稍微修改 PHP date() 函数,以便它能够识别 dd/mm/yy 或 dd-mm-yy 的英国 6 位数字格式。可以理解的是,它会认为采用这种形式的日期是国际(yy-mm-dd)格式。
我仍然希望将其传递给日期函数,因为这将允许它识别其他格式,但由于我在英国,人们最有可能将其放入英国格式。
有什么想法吗?我怀疑 Regex 参与了这个问题的解决方案......
更新 - 我的解决方案
使用下面答案中的部分,这就是我能够在 dd/mm/yy 的情况下更改它的方式:
$s_date = str_replace('/', '-', $s_date);
preg_match('^(.*)[-](.*)[-](.*)$^', $s_date, $matches);
if ($matches) {
if (strlen($matches[3]) == 2) {
$matches[3] = '20'.$matches[3];
}
$s_date = $matches[1].'-'.$matches[2].'-'.$matches[3];
}
【问题讨论】:
-
您是要实际修改 date() 函数(这需要更改 PHP 核心)还是只是编写一个将 dd/mm/yy 或 dd-mm-yy 转换为 yy-mm 的函数-dd?
-
抱歉,澄清一下,我并不是真的要修改核心,只是真的是在这种格式下返回的变量。