为什么Date()。dateUTC的第一个索引1和Date()。monthUTC的第一个索引0?

时间:2015-10-12 17:55:28

标签: actionscript-3 date

在Actionscript 3中,dateUTC和monthUTC具有不同的索引范围。

使用2015年10月12日的日期,Date

中的UTC日期变量
var day:int = new Date().dateUTC
//trace = 12
var month:int = new Date().monthUTC
//trace = 9

dateUTC的范围是1-31。

monthUTC的范围是0-11

为什么dateUTC从1开始,monthUTC从0开始?

2 个答案:

答案 0 :(得分:1)

为什么"在ActionScript 3"?因为它是ECMAScript standard for Date objects的一部分。为什么在ECMAScript?可能只是因为那是Brendan Eich thought made sense when he came up with Javascript

答案 1 :(得分:1)

它背后也有一个逻辑,天是真正的数字而几个月不是。日历表示带数字的天数,并将月份称为字符串。例如,您从未听过第4个月,但您确实听到过第6天。由于AS3日期不提供月份名称,因此它仅提供从0到11的索引,因为日期是数字日期从1到n正确地提供它们。在这里,它背后还有另一个逻辑,即语言。日期中未提供名称(如月份名称),因为支持所有语言会很痛苦。相反,你使用月份索引来显示任何语言的月份(编码器提供的那些),另一方面,由于它们是数字,所以不需要它们。

您会在大多数语言中看到类似的模式,因为提供月份名称很麻烦,因此您可能会获得0到11之间的索引。