注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

技术行者

时代的车轮在按照摩尔定律滚动。

 
 
 

日志

 
 

PHP的date函数中"YW"自然周计算错误问题  

2013-12-30 19:38:00|  分类: PHP |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

今天维护的一个系统,突然有人告诉我,系统的周限制失效了。而实际上,这一块代码,我们并没有什么变动,感到很奇怪。于是去追了一下,发现周限制真的失效了。

PHP的date函数中quot;YWquot;自然周计算错误问题 - hansionxu - 技术的天空

查看代码,发现Date("Ym", time())这句代码获取的week(1年终的第几周,获取的数值有问题),然后发现这周刚刚好是1年中的最后一周(2013年12月30日)。

于是在官网查看了Date相关的函数来源W字符追加与PHP4.1版本。

PHP的date函数中quot;YWquot;自然周计算错误问题 - hansionxu - 技术的天空

但是,这里官方的文档是记录了这个bug的,只会在计算1年的第一周和最后一周会有错误。

PHP的date函数中quot;YWquot;自然周计算错误问题 - hansionxu - 技术的天空

而且,PHP官方还在PHP5.1专门追加了一个解决方案,就是使用date("oW")来替换date("YW")

PHP的date函数中quot;YWquot;自然周计算错误问题 - hansionxu - 技术的天空


至此,问题找到并且解决了。

这是一个不容易被察觉的深坑啊。


  评论这张
 
阅读(410)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017