星期几:允许的范围是0 –7。星期日是0或7。

我在谷歌搜索后发现了这个问题,我的问题是为什么两个值(0,7)都对应于星期日? br />

评论

我认为,合乎逻辑的想法是,某些国家/地区在星期一开始一周,而其他国家在星期日开始,因此将星期日放在第一位和最后一位即可解决这种误解

因为星期天是如此糟糕,所以您不同意吗? :P

因为美国人认为星期日是一周的第一天,但​​是欧洲人说星期日是一周的最后一天。

不要忘了Funday。

因为到了第七天,上帝完成了他已经完成的工作,在第七天他从所有已完成的工作中休息了。

#1 楼

这是可移植性的问题。在早期的Unices中,某些cron版本将0接受为星期日,而将某些版本的7接受为星期日-这种格式是试图将两者都可移植。从vixie-cron中的man 5 crontab(强调我自己):


指定星期几时,第0天和第7天将被视为
星期日。 BSD和AT&T似乎对此持不同意见。


评论


有十种人,从0开始计数和从1开始计数。

–哈根·冯·埃森(Hagen von Eitzen)
2013年12月20日13:17

@HagenvonEitzen我以不同的方式记住了这个笑话:有十种人,懂二进制的人和不懂二进制的人。 -另外:有两种人:(1.)从1开始计数的人(1.)从0开始计数的人。

– leemes
2013年12月20日13:49

我有另一个版本-世界上有三种人-可以计数的人和不能计数的人。

– Flurbius
2013年12月20日14:59

或:有两种类型的人。那些可以从不完整的数据推断出来的数据。

–伯恩哈德
2013年12月20日15:14

或:世界上有10种类型的人-懂格雷码的人,不懂格雷码的人,以及那些期望对二进制开个玩笑的人。

– OnoSendai
2013年12月20日15:22

#2 楼

除了@ChrisDown的出色答案之外,这还可能是解决本地化问题的一种好方法:“根据希伯来语日历和传统基督教日历,星期日是一周的第一天。”通过编程实现这两种方式都非常容易,这两种方式都易于使用。

评论


感谢您的支持@ l0b0

–鲁班精明
2013年12月20日在9:21

+1,很好的答案。我认为这就是AT&T和BSD不一致的原因:-)

–克里斯唐(Chris Down)
2013年12月20日9:31



:)希望如此,呵呵;)

–鲁班精明
2013年12月20日上午9:34

#3 楼

更简单地说,该字段是3个二进制位,为您提供000到111或0到7。因此,在3位字段中总共有八个值。多余的值等于第一个,因此,为方便起见,您可以从0(星期日)或1(星期一)开始,递增6次并覆盖整整一周。

#4 楼

在一周中的哪一天应该被认为是第一天上存在着广泛的分歧。
从历史上看,我们的七天工作周来自《创世纪》,在希伯来圣经和基督教圣经中都是如此。但是,我们将周六和周日视为“周末”的现代生活方式使这一点难以理解,并且可以轻松地将周日视为最后一天而不是第一天。
有些自然语言实际上将周日的观点编码为:词汇的第一天或最后一天是星期日,在某些日子中使用序数名称,其中两个是塞尔维亚语和葡萄牙语。在塞尔维亚语中,Petak表示第5天,但指星期五。在葡萄牙语中,sexta-feira表示第6天,但指星期五。
在我使用的应用中,有些人将周日视为第一天,而其他人则将其视为最后一天。大多数日历应用似乎都允许用户配置此功能,但并非所有应用都可以配置。
cron做出的折衷方案非常聪明,实际上,只要某些用户愿意使用基于0的数组,而其他人只要愿意使用基于1的数组就可以拥有它们。

#5 楼

摘自手册:


星期几(0-7)(0到6是星期日至星期六,或使用名称; 7是
星期日,与0相同)


评论


这如何添加OP似乎不知道的新信息?

–约瑟夫·R。
2013年12月20日23:16