php补丁phpt,PHP

有个数据库(基于PostgreSQL)的表是按年+第几周分期建的,计划任务是提前一周建立未来两周的表。今天发现在200952后出现的表名是201053,而正确的表名应该是200953(2009第53周)。 在PHP date手册中有这样的描述: ISO-8601 year number. This has the same value as Y, except that if the ISO week number (W) belongs to the previous or next year, that year is used instead. (added in PHP 5.1.0) 参考:http://php.net/manual/en/function.date.php 取某个日期是年的第几周有几种实现,在PHP中我用date(‘oW’),这样结果正确的。但是在PostgreSQL中(有少量的function实例)我错用了参数year,查了手册才知道有个isoyear参数用来替代year。 在ISO8601标准里,以1月4日所在的那个星期为当年的第一个星期。也就是说:最晚会到一年的一月3号,这一天算做上一年的最后一周(第53周)内;其余情况下,一月年份里加上前一年剩余部分算做当年第一周,这也是为什么有的年份有52周,有的有53周。 如:2006-01-01是05年52周;2007-12-31是08年第1周; SELECT ‘_’ || EXTRACT(isoyear FROM ’2010-01-03′::date) || TO_CHAR(EXTRACT(week FROM ’2010-01-03′::date),’FM09′) — 结果为 “_200953″ SELECT […]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值