2016年9月1日是星期几?
首先,在编程中一般不会直接使用日期和时间(当然,如果你仅仅是想把当前时间赋值给一个变量那完全可以这么做)。因为计算机只能识别二进制,但时间本身是十进制的;并且不同的时区对时间的表示也是不一样的(例如,现在北京时间8点可以表示为2016-03-07 08:00:00或者2016-03-06 21:00:00等等,差一个小时相差一天。这还是在地球上呢!更不用说地球自转带来的时差问题。)所以需要将日期和时间进行编码。而常用的日期时间编码就是UTC时间和Unix时间戳。
接下来我们来看2016年9月1日的UTc时间和Unix时间戳。 查询结果如图所示 可以看到,utcTime值为45949800,unixTime值为1472934400。这里需要注意的是,由于从2016年1月底开始,谷歌开始实行新的时间格式(每一年都增加三天以匹配公历的闰年),因此2016年的1月和2月的utcTime值比前面任何一个月的都要大。
要得到当天是星期几,还需要知道今天是哪个月哪几天。通过上面得到的utcTime或者unixTimestamp值可以得到本月第一天(1月1日)的UTC/Unix时间戳,然后再求天数即可。
根据unixtime的文档,可以将1472934405这个时间点向后移动到本月份的第一天——1472931605。再向前推就可以得到该月的第一天的utcTime值,即45949800。然后我们可以借助文档获取到这个时间点属于哪个周日(搜索results中第三行的Thursday, 2nd of February 2016)。
综上,2016年9月1日是星期五。