如何转换将形成如...的日期字符串
m/d/yyyy H:i:s
或mm/dd/yyyy H:i:s
...
并将其格式化为... yyyy-mm-dd H:i:s
我可以将两个输入中的任何一个格式化为我想要的格式,但不能同时格式化。
答案 0 :(得分:3)
function format_date($date){
return date('Y-m-d H:i:s',strtotime($date));
}
应该这样做。
答案 1 :(得分:1)
最简单的方法是首先使用strtotime
将其转换为unix时间,然后在其上运行strftime
...不是bes练习但它消除了很多潜在的格式解析问题: - )
答案 2 :(得分:1)
你现在如何格式化?如果您确定这些是您可能只有输入的两种日期格式,那么您可以在正斜杠上explode()
,然后strlen()
在月份或日期返回1 ,在创建yyyy-mm-dd
字符串时添加0。
但是,如果您不能保证这些是您唯一的两种输入格式,那么我会使用strtotime()
将其转换为纪元,然后使用date()
根据需要对其进行格式化。稍微大一点的处理命中,但更通用的代码。