为什么Windows上不支持date()
和strftime()
的某些选项?我认为与 date 相关的任何事情都是每个系统都应该支持的。这是因为 date 的内部存储方式吗?
答案 0 :(得分:6)
manual on date()指出了两个不同之处:
和strftime():
你是说什么意思?那么,已经解释了原因,不支持负时间戳。我认为不能做很多事情。并非C库都支持所有转换说明符,在这种情况下,PHP的strftime()不支持它们。此外,并非所有平台都支持负时间戳,因此您的日期范围可能不会早于Unix时代。这意味着%e,%T,%R和%D(以及可能的其他) - 以及1970年1月1日之前的日期 - 将无法在Windows,某些Linux发行版和一些其他操作系统上运行。对于Windows系统,可以在»MSDN上找到受支持的转换说明符的完整概述。
如果这给你带来了问题,你可能想要使用像Zend_Date这样的库。
答案 1 :(得分:0)
这是因为date
和strftime
只是底层系统函数的薄包装器,因此它们只接受操作系统支持的那些函数。
http://linux.die.net/man/3/strftime
http://msdn.microsoft.com/en-us/library/fe06s4ak%28VS.71%29.aspx