我非常喜欢PHP函数strtotime(),但user manual没有给出支持的日期格式的完整描述。它只给出了一些例子,如“2000年9月10日”,“+1周2天4小时2秒”和“下周四”。
我在哪里可以找到完整的说明?
答案 0 :(得分:7)
我找不到任何正式的,但我看到a tutorial说strtotime() 使用GNU日期输入格式。详细描述了in the GNU manual。
我注意到的一个差异是“下一个”不符合 GNU手册中描述的行为。使用strtotime(),“下周四”会给你与“星期四”相同的结果,除非今天是星期四。
如果今天是星期四,那么
如果今天不是星期四,那么
我正在使用PHP 5.2.6。
<强>更新强>
我想用户手册自我发布以来已经更新,否则我是盲人。它现在包含指向Date and Time Formats chapter的链接,其中包含relative formats的部分。
答案 1 :(得分:1)
您可以通过查看以下C代码来开始跟踪它的作用:
http://cvs.php.net/viewvc.cgi/php-src/ext/date/php_date.c
搜索PHP_FUNCTION(strtotime)
这也是主要的正则表达式解析:
http://cvs.php.net/viewvc.cgi/php-src/ext/date/lib/parse_date.re
祝你好运答案 2 :(得分:0)
根据我的经验,strtotime()可以接受任何甚至远程看起来像日期的东西。找出其边界的最佳方法是创建一个测试脚本并插入值,看看哪些有效,哪些无效。
$input = "Apr 10th";
print(date('Y-m-d', strtotime($input)));
只需不断更改$ input变量并观察结果。
答案 3 :(得分:0)
基本上date可以创建strtotime的任何东西都会解析。除了一个例外,它确实存在非美国式格式的问题。因此,请保留月 - 日 - 年类型格式。