开发者

formatting dates with or without a leading zero in php

How would you convert a datestring that will be formated like...

m/d/yyyy H:i:s or mm/开发者_JAVA技巧dd/yyyy H:i:s...

and format it like... yyyy-mm-dd H:i:s

I can format either of the two inputs into my desired format, but not both.


function format_date($date){
  return date('Y-m-d H:i:s',strtotime($date));
  }

should do the trick.


Easiest way would be to simply transform it to unix time first with strtotime then run strftime on it afterwards... not the bes practice but it eliminates alot of the potential format parsing issues :-)


How are you formatting it now? If you're certain that those are the only two date formats you'll possibly have as input, then you can explode() it on the forward slashes, then if strlen() returns 1 on the month or the date, add a 0 as you're creating your yyyy-mm-dd string.

However, if you're not guaranteed that those are your only two input formats, then I would use strtotime() to convert it to epoch, then use date() to format it as you desire. A slightly bigger processing hit, but much more universal code.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜