【发布时间】:2011-03-31 02:07:15
【问题描述】:
所以我有这个:
date('c')
它的格式是这样的:
2010-08-17T08:55:14-07:00
但我需要一种方法,在偏移量中不包含冒号,所以它可能看起来像这样:
2010-08-17T08:55:14-0700
对此有什么解决方案?我希望格式略有不同,而不是获取字符串并替换最后一个冒号(使用 reg-ex 或其他东西)。
【问题讨论】:
所以我有这个:
date('c')
它的格式是这样的:
2010-08-17T08:55:14-07:00
但我需要一种方法,在偏移量中不包含冒号,所以它可能看起来像这样:
2010-08-17T08:55:14-0700
对此有什么解决方案?我希望格式略有不同,而不是获取字符串并替换最后一个冒号(使用 reg-ex 或其他东西)。
【问题讨论】:
有趣的是,date(DATE_ISO8601) 不给你冒号。
但date('c') 确实如此,并且手册状态(对于'c'):
ISO 8601 日期(在 PHP 5 中添加)
【讨论】:
从组成部分构建它:
date('Y-m-d\TH:i:sO')
请参阅date 文档了解不同的格式字符串。
你感兴趣的是O:
与格林威治时间 (GMT) 的时差(例如:+0200)
而不是P:
与格林威治时间 (GMT) 的区别,小时和分钟之间带有冒号(在 PHP 5.1.3 中添加)(示例:+02:00)
【讨论】:
查看 PHP 的 date 函数并尝试寻找其他选项。
date('Y-m-d\TH:i:sO'); //2010-08-17T08:55:14-0700
【讨论】: