2017年6月5是星期几?

谈亦宣谈亦宣最佳答案最佳答案

题主可能是遇到这样的问题,日期中有没有星期几的表述?例如,某次考试的日期是“2017年6月5日”或者“2017年6月5星期一”这样的。 出现这种问题是因为,在计算机中储存日期和时间的时候,按照ISO8601标准,日期部分使用四个整数表示(年份、月份、日子),时间使用两个整数表示(时分秒),但一个公历日期的星期数却没有明确的规定。所以,不同的编程语言可能不同的数据结构来记录同样一个日期,得到的星期数却是不同的。

C和C++把一周七天的第一天作为周一,那么所有的日期都是周一(周日)加上一天得到的结果。例如,6月5日是周一的话,那么在C/C++中这个日期就是6月4日周一。Java等语言规定一周的第一天作为周日,那么6月5日就刚好是周一。而Python等语言则是采用C的规则。 .NET框架则是一个例外,它定义的周一不是从周日而是从上周一开始数的第一个周一。这样6月5日就恰好是周二。

上面四种语言对“今天周几”这个问题都给出一致的回答,但是碰到“某个具体日期周几”的问题时,答案却是完全相反的! C/C++和Java会告诉你答案是周六;.NET会告诉你是周一;而python则会说你是周五(周日)。

我来回答
请发表正能量的言论,文明评论!