星期天是一周的结束,还是开始《T E N E T》


最近看了信条,有点上头,写完这篇就去二刷

本文主要记录一下 《一周的开始是星期一还是星期天》 这个问题

事情起因

周五晚上完成了一个排行榜的需求,匆忙上线,然后开始了美好的周末时光。

在周天的早上却被电话吵醒

翔仔,快看看排行榜的本周数据怎么不对,数据量很少,快看看,不然老板要发飙啦!!!

我们和后端接口采用的graphQL协议,查询数据的时间范围是前端传的

我是用dayjs取,成熟的框架不应该出这么低级的问题啊!

代码如下:

// 时间范围
begin: dayjs().startOf('week'),
end: dayjs().endOf('week')

划重点:本周数据

我立马反应过来,周天的本周数据量很少,难道是对于周天来说,周天就是本周的第一天??


啊这,是不是有点不讲武德

我马上翻阅dayjs的文档,果然是这个原因,dayjs取值的每周的startOf就是从周天开始

所以官方定义一周的开始真的是周天吗?

从我们日常生活来说,大家肯定都会认为星期一是一周的开始
可是也不排除是因为公认的上班时间,导致了大家的这个理念

我的脑子里一直有个周天是一周开始的印象,并且我们熟悉的挂历,电脑手机系统的日历,
似乎每一周的那一行都是从周天开始的

所以到底是怎么回事呢?我去查阅了资料

直接上结论:

认为周天是一周的开始,和认为周一是一周的开始,都没错

其中

  • 认为周天是一周的开始,是符合(西方的)传统说法的,并不是空穴来风
  • 认为星期一是一周的开始,更符合国际当前的标准(ISO 8601标准)

Sunday作为每周第一天是历史传统,
这是由于宗教原因,基督教和犹太教认为上帝七天创造世界,第七天是Saturday,所以Saturday是每周最后一天,Sunday是每周第一天。

在几十年前,信基督教的人在西方还比较多的时候,整个社会还是普遍接受Sunday作为每周的第一天。

但几十年过去了,越来越少的人信教,宗教的影响江河日下,大家逐渐开始接受Monday作为每周第一天。

因为Monday是每周第一个工作日,无论是从人的主观体验还是工作安排来说,用Monday作为每周第一天是更直观的。

现在国际标准 ISO 8601 《数据存储和交换形式·信息交换·日期和时间的表示方法》中,已经把Monday作为每周第一天了。

我国的国家标准 GB/T 7408-2005 也规定了星期一是每周的第一天,所以在中国是很明确的了。

所以没必要把这作为日常生活的困扰。
我们认为星期一是一周的开始,这是没错的。

在程序中,如果你使用了框架,则需要特别留意一下框架的说明

例如dayjs:也是有明确说明的

哦,搞了半天,是我自己没注意文档,写了个bug。。。

声明:高翔的博客|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA协议进行授权

转载:转载请注明原文链接 - 星期天是一周的结束,还是开始《T E N E T》


我急促得甚至奔跑起来!