「PHP」获取指定时间所在周的第一天(星期一)

吐槽/反馈/建议:我的咸鱼心  爱发电-@wdssmq

下边 Z-BlogPHP 应用里用到了「获取时间戳所在周的第一天」的功能,然而一开始的实现并不对「- -」;

碎雨集 - Z-Blog 应用中心:

https://app.zblogcn.com/?id=21047

一开始是想直接拿到00:00:00的时间戳,果然太麻烦了就容易出错;

function mz_ShikonNoTama_GetCurMonday($time)
{
  // 错误实现
  // $w = date("N", $time);
  // return $time - ($time % 86400) - 86400 * ($w - 1) - 3600 * 8;

  // 正确实现
  $week = date("N", $time);
  return $time - ($week - 1) * 86400;

  // 如果确实要拿 00:00 好像可以这样
  // $week = date("N", $time);
  // return $time - ($week - 1) * 86400 - (($time + 28800) % 86400);
}
$arr = [1642896000, 1642953599, 1642953600, 1642957612];
$rltHTML = '';
for ($i = 0; $i < count($arr); $i++) {
  $time = $arr[$i];
  $date = date("Y-m-d H:i", $time);
  $week = date("N", $time);
  $monday = $time - ($week - 1) * 86400;
  // $monday = $time - ($week - 1) * 86400 - (($time + 28800) % 86400);
  $rltHTML .= strtr($tpl, [
    '{key}' => 'time',
    '{value}' => $date,
  ]);
  $rltHTML .= strtr($tpl, [
    '{key}' => 'week',
    '{value}' => $week,
  ]);
  $rltHTML .= strtr($tpl, [
    '{key}' => 'monday',
    '{value}' => date("Y-m-d H:i", $monday),
  ]);
  $rltHTML .= "<br>";
}

echo $rltHTML;

// N                   丨 ISO-8601 格式数字表示的星期中的第几天 丨 1(表示星期一)到 7(表示星期天)
// w                   丨 星期中的第几天,数字表示               丨 0(表示星期天)到 6(表示星期六)
// D                   丨 星期中的第几天,文本表示,3 个字母     丨 Mon 到 Sun
// l(“L”的小写字母) 丨 星期几,完整的文本格式                   丨 Sunday 到 Saturday
time:2022-01-23 08:00

week:7

monday:2022-01-17 08:00


time:2022-01-23 23:59

week:7

monday:2022-01-17 23:59


time:2022-01-24 00:00

week:1

monday:2022-01-24 00:00


time:2022-01-24 01:06

week:1

monday:2022-01-24 01:06

爱发电

本文标题:《「PHP」获取指定时间所在周的第一天(星期一)》作者:沉冰浮水
原文链接:https://www.wdssmq.com/post/20190704010.html
特别注明外均为原创,转载请注明。

分享到微信

扫描二维码

可在微信查看或分享至朋友圈。

相关文章

Suitear Suitear 发布于 2010-11-09 23:32:00  
#cmt2628
太想转了~我看还是算了~
回复
发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

网站分类

  • 订阅本站的 RSS 2.0 新闻聚合

搜索

本周旧文

近期观影记录:超级马里奥,死侍与金刚狼。。

搬家也告一段落,虽然搬过来的东西还得归置,新衣柜虽说已经散俩月味儿了,但还是不想放衣服进去。

要不我每年汇总整理一次??碎雨集_沉冰浮水_第1页

所以,不带这条的话,2024 年目前只发了 13 条嘟????

VSCode 内 git 操作卡住的时候没办法主动取消一直是个痛点,一般都是推送或拉取,今天连提交都卡了。。

又一个夏天过去了,所以今年也没买防水鞋套;然后天凉了,为了应对踢被子买了睡袋,不知道 1.2 米会不会略窄。。

《五至七时的克莱奥》,2018 年 6 月加入列表,21 年 11 月底发现 B 站上线了这部,直到前几天才看完,还是分两次看的。。接下来有五项是 2019 年的,都是电影 —— 略长的待办列表。。

有用程序自动抓取自己带 tag 的嘟,然后按年备份后从线上删除;刚发现去年的数据有备份但是没删线上??和本地数据对比后发现线上的还少一条,Why??

本质上,每个人需要的是「让自己面临的问题得到解决」的能力。。

这又涉及到直接能力和间接能力,,缺乏直接能力很正常,视情况可以通过学习来掌握直接能力,或者「请」有直接能力的人来帮自己解决。。

缺乏间接能力的情况是真没救,尤其是对「这是**我自己**面临的问题」这一前提没有明确认知的人。。

其实,在认知意义上,焦虑时我知道这种情绪对应「焦虑」这个文法词汇,此外还有「压抑」「悲伤」等等,然而「抑郁」其实是个我认知体系外的词,虽然经常一些情绪感受我找不到对应的语言词汇来表述,却也只能将其实表述为「找不到对应的语言词汇来表述」的某些感受。。

爱发电支持者

最新留言

友情链接