php时间函数一年中的周划分问题

最近项目中做一个统计,按年月日,其他没问题,就在周上面踩了坑。

在php-mongo中有一个$week可以按周划分,但是是从0-6进行划分的。纯mongo中则提供了$iosweek可以按照1-7进行划分。

最后采取0-6划分统计,但是在php中对时间段进行手动划分时再次遇到了问题,date('W', time())计算一年中周数,但是是从1-7进行划分的,这与上面数据库中的逻辑矛盾了。

找了半天找到了strftime("%U", time())可以取得想要的结果,从0-6进行划分.

strftime() 函数根据区域设置格式化本地日期和时间。

  • %a - 星期几名称的简写
  • %A - 星期几名称的全称
  • %b - 月份名称的简写
  • %B - 月份名称的全称
  • %c - 首选的日期和时间表示法
  • %C - 表示世纪的数字(年份除以 100,范围从 00 到 99)
  • %d - 一个月中的第几天(01 到 31)
  • %D - 时间格式,与 %m/%d/%y 表示法相同
  • %e - 一个月中的第几天(1 到 31)
  • %g - 与 %G 表示法类似,但不带世纪
  • %G - 与 ISO 星期数对应的 4 位数年份(见 %V)
  • %h - 与 %b 表示法相同
  • %H - 小时,使用 24 小时制(00 到 23)
  • %I - 小时,使用 12 小时制(01 到 12)
  • %j - 一年中的第几天(001 到 366)
  • %m - 月份(01 到 12)
  • %M - 分
  • %n - 换行符
  • %p - 与给定的时间值相对应的 am 或 pm
  • %r - a.m. 和 p.m. 的时间标记法
  • %R - 24 小时制的时间标记法
  • %S - 秒
  • %t - tab 制表符
  • %T - 当前时间,与 %H:%M:%S 表示法相同
  • %u - 星期几的数字表示(1 到 7),Monday[星期一] = 1。警告:在 Sun Solaris 系统中,Sunday[星期日] = 1
  • %U - 当年包含的周数,从第一个星期日开始,作为第一周的第一天
  • %V - 当年包含的 ISO 8601 格式下的周数(01 到 53),week 1 表示当年的第一周,至少要有四天,且以星期一作为周的第一天
  • %W - 当年包含的周数,从第一个星期一开始,作为第一周的第一天
  • %w - 以十进制数形式表示一周中的某天,Sunday[星期日] = 0
  • %x - 首选的日期表示法,不带时间
  • %X - 首选的时间表示法,不带日期
  • %y - 不包含表示世纪的数字的年份表示(范围从 00 到 99)
  • %Y - 包含表示世纪的数字的年份表示
  • %Z 或 %z - 时区名称或简写
  • %% - 输出一个 % 字符

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值