PHP函数获取日期格式?

我知道如何使用日期格式字符串来转换日期(‘Y / m / d H:i:s’);进入2009/12/18 11:37:45.

我想要一个可以做相反的功能 – 查看格式化日期然后返回格式. PHP中有一个吗?

原因是我们在各种格式的数据库中保存了时间戳,我正在编写一个处理所有旧表并分析日期条目的工具.

编辑:所以我想没有一个直截了当的方法来做到这一点.我以为我可以使用strftime(),它返回自纪元以来的秒数.所以更好的问题是我可以在mySQL数据库的时间戳字段中以秒为单位使用该时间吗?如果表的结构是时间戳而不是varchar,我猜这会有效,有时是.

解决方法:

不,没有这样的功能.您需要编写一组表达所有可能变体的正则表达式匹配,例如:

$variations = array (
    '^([0-9]{4})/[0-9]{2}/[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{4}2$' => 'Y/m/d H:i:s',
    // more here
);

foreach ($dateFromDatabase as $date) {
    foreach ($variations as $regexp => $dateFormat) {
        if (preg_match ('|' . $regexp . '|', $date)) {
            $matches[$dateFromDatabase] = $dateFormat;
            break;
        }
    }
}

// $matches now consists of an array of dates => format
上一篇:Android DatePicker无法识别何时通过键入更改年份


下一篇:javascript – jQuery Datepicker在下个月点击后打开两次(使用2个Datepickers)