当前位置: 首页 > 知识库问答 >
问题:

PHP函数strtotime()支持什么日期格式?

赫连琦
2023-03-14

我真的很喜欢PHP函数strtotime(),但是用户手册没有给出支持的日期格式的完整描述。它只举了几个例子,例如“2000年9月10日”、“+1周2天4小时2秒”和“下星期四”。

我在哪里可以找到完整的描述?

共有2个答案

洪胤
2023-03-14

您可以通过查看以下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

祝你好运

戚英逸
2023-03-14

我找不到任何官方的东西,但我看到了一个教程,上面说strtotime()使用GNU日期输入格式。这些在GNU手册中有详细描述。

我注意到的一个差异是“Next”与GNU手册中描述的行为不匹配。使用strtotime(),“下星期四”将给出与“星期四”相同的结果,除非今天是一个星期四。

如果今天是星期四,那么

  • strtotime(“星期四”)==strtotime(“今天”)
  • strtotime(“下星期四”)==strtotime(“今天+7天”)

如果今天不是星期四,那么

  • strtotime(“星期四”)==strtotime(“下星期四”)

我使用的是PHP5.2.6。

更新:

我猜自从我发布这篇文章后,用户手册已经更新了,要不然我就瞎了。它现在包含到日期和时间格式一章的链接,该章包含关于相对格式的一节。

 类似资料:
  • Impala中不支持蜂巢日期格式。 我在配置单元表中创建了分区日期列,但当我可以从impala中的hive_metadata访问相同的表时,它会显示

  • 我在使用PHP strtotime函数是,遇到了+9时区的问题。 得到的结果是 2024-01-01 09:00:00 请问到底该怎么解决才能使 strtotime 直接得到0点的时间戳? 我检查了系统的时区,timedatectl 返回的结果 PHP date_default_timezone_get() 返回的是PRC。 即便使用 DateTime 得到的依然是2024-01-01 09:00

  • 我正在寻找将PHP日期格式(即Y-m-d H:I:s)转换为javascript日期格式(分别为YYYY-mm-dd HH:mm:ss)的简单方法。 我不想转换日期(这个问题已经有答案),我正在寻找工具/函数来转换格式代码(我还不知道,因为它是由应用程序中的用户定义的)。 用户可以用PHP date()定义的不同方式来定义它,即“Y/m/d H:i”或“Y-d-m H-i”,在javascript

  • 函数名称:格式化日期 函数功能:格式化日期 函数方法 str = os.date(format,timeout) 参数 类型 必填 说明 format string 是 格式化字符串/格式符 timeout string 否 指定格式化的时间, 不写默认为当前时间 格式化字符串 格式符 类型 类型 %a 一星期中天数的简写 (Fri) %A 一星期中天数的全称 (Wednesday) %b 月份的

  • 本文向大家介绍MySQL日期函数与日期转换格式化函数大全,包括了MySQL日期函数与日期转换格式化函数大全的使用技巧和注意事项,需要的朋友参考一下 Mysql作为一款开元的免费关系型数据库,用户基础非常庞大,本文列出了MYSQL常用日期函数与日期转换格式化函数 1、DAYOFWEEK(date) 2、WEEKDAY(date)   3、DAYOFMONTH(date) 4、DAYOFYEAR(da

  • 问题内容: 我将Hudson作为持续集成服务器,并且我想使用选项“发布JUnit测试结果报告”。但是我不使用xUnit工具进行测试,相反,我有运行测试并以简单格式返回结果的shell脚本。我正在考虑制作一个脚本,将这些结果转换为JUnit格式。所以我很有趣JUnit文件的外观如何? 问题答案: 几个月前,我做过类似的事情,结果证明这种简单的格式足以让哈德森接受它作为测试协议: