同样,日期类型也是非常重要的数据类型,必须熟练掌握。
date = new Date(...); //...部分是:“年、月、日、时、分、秒”的组合,数字和字符串皆可。 //注:月份是0~11,而不是1~12。 //全部缺省,则表示当前年月日时分秒 //只有年份,则表示1970年01月01日 09:00:00 //只有年月,则日用01表示,时分秒则用00:00:00表示 //只有年月日,则时分秒则用00:00:00表示
dd = new Date(0,0); //dd的结果: Mon Jan 1 00:00:00 UTC+0900 1900 dd = new Date(99,12); //dd的结果: Thu Jan 1 09:00:02 UTC+0900 1970 (年份无效) dd = new Date("2004",10); //dd的结果: Mon Nov 1 00:00:00 UTC+0900 2004 dd = new Date(2004,10,21);//dd的结果: Sun Nov 21 00:00:00 UTC+0900 2004
注:年份为0~99时,则年份自动加上1900,变成:1900~1999
dd = new Date(0,0); //dd的结果: Sun Nov 21 21:16:38 UTC+0900 2004 dd = new Date(99,11); //dd的结果: Wed Dec 1 00:00:00 UTC+0900 1999 dd = new Date(99,0); //dd的结果: Fri Jan 1 00:00:00 UTC+0900 100 dd = new Date(9999,11); //dd的结果: Wed Dec 1 00:00:00 UTC+0900 9999
注:时刻省略时,则用0代替,微秒也可以表示。
dd = new Date(2004,0,1,23); //dd的结果: Thu Jan 1 23:00:00 UTC+0900 2004 dd = new Date(2004,0,1,23,59); //dd的结果: Thu Jan 1 23:59:00 UTC+0900 2004 dd = new Date(2004,0,1,23,59,59); //dd的结果: Thu Jan 1 23:59:59 UTC+0900 2004 dd = new Date(2004,0,1,23,59,59,999);//dd的结果: Thu Jan 1 23:59:59 UTC+0900 2004
字符串的日期格式
dd = new Date("1999/12/31 23:59:59"); //1999年11月31日 星期5 23:59:59 dd = new Date("Dec 31, 1999 23:59:59"); //同上 dd = new Date("December 31, 1999 23:59:59"); //同上 dd = new Date("1999-12-31 23:59:59"); //不正确,这与Windows控制面板中的设置有关
date.getFullYear() //取得日期的年(YYYY) date.setFullYear(year) // date.getYear() //取得日期的年:1900~1999年,则返回YY,其它返回YYYY date.setYear(year) // date.getMonth() //取得日期的月(MM) date.setMonth(mon) // date.getDate() //取得日期的日(DD) date.setDate(date) // date.getDay() //取得日期的星期(WEEK) date.getHours() //取得日期的时(HH) date.setHours(hour) // date.getMinutes() //取得日期的分(MI) date.setMinutes(min) // date.getSeconds() //取得日期的秒(SS) date.setSeconds(sec) // date.getMilliseconds() //取得日期的微秒(MS) date.setMilliseconds(msec) //
dd = new Date(1985,4,19,23,59,30,999); yyyy = date.getFullYear() 了 //结果为: 1985 yy = date.getYear() //结果为: 85 mm = date.getMonth() //结果为: 4 (五月) dd = date.getDate() //结果为: 19 ww = date.getDay() //结果为: 0 (星期日) hh = date.getHours() //结果为: 23 mi = date.getMinutes() //结果为: 59 ss = date.getSeconds() //结果为: 30 ms = date.getMilliseconds() //结果为: 999 dd.setFullYear(2004); //结果为: Wed May 19 23:59:30 UTC+0900 2004
date.getUTCFullYear() //取得日期的年(YYYY) date.setUTCFullYear(year) date.getUTCYear() //取得日期的年:1900~1999年,则返回YY,其它返回YYYY date.setUTCYear(year) date.getUTCMonth() //取得日期的月(MM) date.setUTCMonth(mon) date.getUTCDate() //取得日期的日(DD) date.setUTCDate(date) date.getUTCDay() //取得日期的星期(WEEK) date.getUTCHours() //取得日期的时(HH) date.setUTCHours(hour) date.getUTCMinutes() //取得日期的分(MI) date.setUTCMinutes(min) date.getUTCSeconds() //取得日期的秒(SS) date.setUTCSeconds(sec) date.getUTCMilliseconds() //取得日期的微秒(MS) date.setUTCMilliseconds(msec)
dd = new Date(1985,4,1,1,59,30,999); d1 = dd.getMonth()+"月"+dd.getDate()+"日 星期"+dd.getDay() //4月1日 星期3 t1 = dd.getHours()+":"+dd.getMinutes()+":"+dd.getSeconds() //1:59:30 d2 = dd.getUTCMonth()+"月"+dd.getUTCDate()+"日 星期"+dd.getUTCDay() //3月30日 星期2 t2 = dd.getUTCHours()+":"+dd.getUTCMinutes()+":"+dd.getUTCSeconds() //16:59:30
date.getTimezoneOffset()
现在当地时间:
date.toString() //转换为字符串,这与自动转换结果相同 date.toLocaleString() //转换为当地格式的字任串 date.toGMTString() //转换为GMT格式的字任串 date.toUTCString() //转换为UTC格式的字任串
dd = new Date("1999/12/31 23:59:59"); xx = dd.toString() //xx的值为: "Fri Dec 31 23:59:59 UTC+0900 1999" xx = dd.toLocaleString() //xx的值为: "1999年12月31日 23:59:59" xx = dd.toGMTString() //xx的值为: "Fri, 31 Dec 1999 14:59:59 UTC" xx = dd.toUTCString() //xx的值为: "Fri, 31 Dec 1999 14:59:59 UTC"
date.getTime() //取得“绝对时间” date.setTime(time) //设置“绝对时间” date.UTC(year,mon,day,hour,min,sec) //取得指定日期的“绝对时间” date.parse(string) //转换“绝对时间”成日期
dd = new Date("1970/1/1 00:00:59"); xx = dd.getTime() //xx的值为: -32341000 xx = dd.setTime(24*3600) //xx的值为: "Fri Jan 2 09:00:00 UTC+0900 1970"