我在谷歌搜索后发现了这个问题,我的问题是为什么两个值(0,7)都对应于星期日? br />
#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
评论
我认为,合乎逻辑的想法是,某些国家/地区在星期一开始一周,而其他国家在星期日开始,因此将星期日放在第一位和最后一位即可解决这种误解因为星期天是如此糟糕,所以您不同意吗? :P
因为美国人认为星期日是一周的第一天,但是欧洲人说星期日是一周的最后一天。
不要忘了Funday。
因为到了第七天,上帝完成了他已经完成的工作,在第七天他从所有已完成的工作中休息了。