2009-04-17 126 views

回答

7

我找不到任何官方的,但我看到a tutorial,说strtotime() 使用GNU日期输入格式。这些详细描述在in the GNU manual

我注意到的一个不一致是“next”与GNU手册中描述的 行为不符。使用strtotime(),除非今天是星期四,否则“下周四”会给你与“星期四”相同的结果。

如果今天是星期四,然后

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

如果今天不是周四,然后

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

我使用PHP 5.2.6。

更新:

我想,因为我张贴了这个,要不然我是盲人用户手册已经更新。它现在包含指向Date and Time Formats chapter的链接,其中包含relative formats部分。

+0

我记得看到一些说同样的事情,所以我会给你一个+1,但这似乎有点像你只是想赚取代表... – rmeador 2009-04-17 22:17:08

+7

我不得不为此寻找一点点,所以我发布了问题和答案,以防其他人在寻找同样的事情。我认为这是网站的预期用途。 – 2009-04-17 23:34:19

0

根据我的经验,strtotime()可以接受任何即使远程看起来像日期的东西。找出其边界的最好方法是创建一个测试脚本并插入值并查看哪些内容不起作用。

$input = "Apr 10th"; 
print(date('Y-m-d', strtotime($input))); 

只是不断改变$ input变量并观察结果。

0

基本上date可以创建strtotime的任何东西都会解析。有一个例外,它与非美国风格的格式有问题。因此请保留Month-Year-Year类型的格式。