如何在PHP中格式化日期而不在冒号中使用冒号?

时间:2010-08-17 16:00:19

标签: php timezone

所以我得到了这个:

date('c')

格式如下:

2010-08-17T08:55:14-07:00

但是我需要一种方法来在偏移量中没有冒号,所以它可能看起来像这样:

2010-08-17T08:55:14-0700

有什么解决方案?我希望格式略有不同,而不是获取字符串并替换最后一个冒号(使用reg-ex或其他东西)。

3 个答案:

答案 0 :(得分:10)

有趣的是,date(DATE_ISO8601)并没有给你结肠。

date('c')确实如此,并且手册指出(对于'c'):

  

ISO 8601日期(在PHP 5中添加)

答案 1 :(得分:8)

从组成部分构建:

date('Y-m-d\TH:i:sO')

有关不同的格式字符串,请参阅date文档。

您感兴趣的是O

  

格林威治时间(GMT)与小时的差异(例如:+0200)

而不是P

  

格林威治时间(GMT)与小时和分钟之间的冒号的差异(在PHP 5.1.3中添加)(例如:+02:00)

答案 2 :(得分:1)

查看PHP的date函数并尝试查找其他选项。

date('Y-m-d\TH:i:sO');  //2010-08-17T08:55:14-0700