在php中格式化日期有或没有前导零

时间:2010-02-10 00:05:16

标签: php datetime string

如何转换将形成如...的日期字符串

m/d/yyyy H:i:smm/dd/yyyy H:i:s ...

并将其格式化为... yyyy-mm-dd H:i:s

我可以将两个输入中的任何一个格式化为我想要的格式,但不能同时格式化。

3 个答案:

答案 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()根据需要对其进行格式化。稍微大一点的处理命中,但更通用的代码。