诡异的PHP Date Format String

2006年10月19日 | Author: zhangdi | 标签:

为了让Blog中的日期的格式更容易让人理解,我刚刚看了一下PHP中如何format日期时间,发现还真是比较诡异。原来的time format string设置的是:"g:i a" 显示出来就是"12:37 pm"的样子,但是需要注意的是,也是引起LP争议的地方,这个g表示的小时数,但是区间是1~12,所以对于g这种表示方式没有零点这么一说,所以凌晨零点多的时候,就表示成了"12:13 am",只能用am和pm来区分到底是凌晨还是中午。现在我把这个format string改称了"H:i",这里H代表的就是24小时制的小时数,并且有前导零。这样凌晨零点的时候就会显示成这样了:"00:13"。清楚多了,也不需要am/pm了。

令人觉得诡异和疑惑的地方就是PHP中的Date/Time format string是根据什么确定的,感觉有几个不太make sense。比如这个g表示“小时,12 小时格式,没有前导零”,还有j表示“月份中的第几天,没有前导零”,都不明白这个字母和表示的意思之间有什么联系,不太好记忆啊。Google了好久也没找到答案。难道没有人也同样有疑惑吗?还是我太无知了~?如果有人知道,千万要告诉我~

不过,总体来说,PHP中的Date/Time format string非常强大和灵活,几乎需要的格式都有了,几乎自己可以拼出来符合任意需求的时间格式。还有人专门将PHP中的Date/Time format函数port到javascript中。应该很好用吧。:)

  1. 2010年1月10日01:00

    哈哈 遇到同样问题

    路过一下

  2. 2010年1月16日16:07

    还可以