【发布时间】:2014-02-01 18:32:02
【问题描述】:
是否可以在 PHP 中获取格式化日期字符串的格式?
例如,
Input: 2014-02-01
Output: Y-m-d
Input: February 1, 2014
Output: F j, Y
我了解tomorrow 或“下周一”等相对日期会有问题。因此,输入将是一个完整的日期字符串,格式为strtotime 接受。
【问题讨论】:
-
PHP date format converting 的可能重复项以及很多很多......但是为什么不使用 DateTime 对象而不是限制自己使用 strtotime()?
-
不,不是。在另一个问题中,他想以指定的格式(他已经知道)解析日期。我想要 strtotime 自动解析日期的格式。简单来说,他期待一个日期时间,而我期待一个日期格式字符串(如'Y-m-d')
-
可能比较难,但是你可以查看
strtotime的源代码:github.com/php/php-src/blob/master/ext/date/php_date.c -
根据定义,这对于任意输入几乎是不可能的;例如
01/02/03是什么?我认为你能做的最好的就是准备一堆带有映射到输出的预期输入的正则表达式,例如/^\d{4}-\d{2}-\d{2}$/→ 'Y-m-d'。 -
如果您是为 i18n 执行此操作,那么您肯定还有其他需要检查的内容。