多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
用来处理时间日期时间的主要类是 Date 类。就像数组一样,类需要在使用之前被实例化。然而,这个实例化比数组相对长一些,因为它预期一个完整的参数数值。实例化一个Date对象的定义看起来是这样的: ~~~ var year : Int = 2007; var month : Int = 9; var day : Int = 13; var hours : Int = 23; var mins : Int = 39; var secs : Int = 30; var date = new Date( year, month, day, hours, mins, secs ); ~~~ 长吧?实例化需要所有的参数,包括时间,但是如果只有一个日期,可以提供一个0的时间。这是一个Date对象实例化的例子: ~~~ var birthDate : Date = new Date( 1976, 10, 3, 13, 15, 0 ); ~~~ 这个例子实例化了变量 birthDate,通过一个时间:11月3号,1976,13:15 。如你所见,month参数设置为10,而不是11作为11月。这不是一个错误。不幸的是,因为ECMA规范,month的值从0开始,而不是1,所以这个值必须设置为期望的值减去1 。 幸运的是,你不用每次都这样来实例化日期。例如,如果希望是当前日期和时间,Date 类提供一个 now 方法来实例化对象: ~~~ var birthDate : Date = Date.now(); ~~~ 也可以从一个字符串或者浮点数来创建Date对象,通过 fromString 或者 fromTime。字符串实例化需要一个确定的格式满足包含日期,时间或者使用 YYYY-MM-DD的格式来表示日期,HH:MM:SS来表示时间。所以,要初始化一个生日的Date对象,并使用字符串方法,需要如下操作: ~~~ var birthDate : Date = Date.fromString(“1976-11-03 13:15:00”); ~~~ 这次,month值必须从1开始,所以是正常的月份值。 使用 fromTime 方法是比较不太常用,因为它需要你传递从1970年1月1日开始到现在过去的毫秒数。这是一个复杂的计算,但是在你重新实例化一个数值序列版本的日期和时间却很有用: ~~~ var birthDate : Date = Date.fromTime(215874900000); ~~~