JavaScript提供了 Date对象 来操作日期和时间。Date对象的值用一个整数来表示,它是自1970年1月1日0时到所代表的时间的毫秒数(1秒=1000毫秒)。正值表示该日期之后的时间,负值表示该日期之前的时间。这种表示方式与Unix系统中日期时间的表示方式是完全相同的。
由于客户端的JavaScript程序是在浏览器中运行的,Date对象返回客户端计算机的时间,而不是服务器上的时间。Date对象有6种创建方式,它们的语法为:
var now = new Date();//创建一个新的Date对象,其值为创建对象时计算机的日期时间 var myDate = new Date("month dd, yyyy,hh,mm,ss"); var myDate = new Date("month dd, yyyy"); var myDate = new Date(yyyy, mm, dd, hh, mm, ss); var myDate = new Date(yyyy, mm, dd); var myDate = new Date(milliseconds);
第一种格式中没有任何参数,它创建一个新的Date对象,其值为创建对象时计算机上的日期时间。
第二种语法格式创建一个新的Date对象,并按照“月日年时分秒”的格式为Date对象指定初始日期值。
第三种语法格式创建一个新的Date对象,并按照“月日年”的格式为Date对象指定初始日期值。
第四种语法格式创建一个新的Date对象,并按照“年月日时分秒”的格式为Date对象指定初始日期值。
第五种语法格式创建一个新的Date对象,并按照“年月日”的格式为Date对象指定初始日期值。
第六种语法格式创建一个新的Date对象,并用从1970年1月1日0时到指定时间之间的毫秒总数为Date对象指定初始日期值。
Date对象只有一个属性 prototype ,这是一个静态属性,用于为当前文档中的Date对象添加新的属性和方法。
Date()方法有两种格式:一种使用本地的日期时间进行运算;另一种格式的方法名称中包含“UTC”字符串,它使用通用时间(格林威治时间GTM或通用协调时间UTC)进行运算。下面表格中为了查阅方便,采用简略的形式书写方法的名称,例如,名称 gey[UTC]Date() 代表了两个方法: getDate() 和 getUTCDate() ,它们具有的功能相同,只不过前一个方法使用的是本地时间进行操作,后一个方法使用通用时间进行操作。
方法 描述 get[UTC]Date() 返回日期是月份中的第几天。有效值在1-31之间 get[UTC]Day() 返回日期是星期几。0表示星期天,...,6表示星期六 get[UTC]FullYear() 返回日期中4个数字表示的年份,例如2015 get[UTC]Hours() 返回日期中小时字段的值,有效值在0-23之间 get[UTC]Milliseconds() 返回日期中毫秒字段的值 get[UTC]Minutes() 返回日期中分钟字段的值,有效值在0-59之间 get[UTC]Month() 返回日期中月份字段的值,有效值在0-11之间 get[UTC]Seconds() 返回日期中秒字段的值,有效值在0-59之间 getTime() 返回日期的内部毫秒数表示值,即从1970年1月1日午夜到Date对象表示的日期之间的毫秒数,该数值与时区无关 getTimezoneOffset() 返回Date对象所表示日期的本地时间于UTC时间之间的差值,以分钟为单位 getYear() (已废弃) 返回两个数字表示的年份,该方法已经被 getFullYear() 所取代 set[UTC]Date(day_of_month) 设置日期中日字段的值,返回值用调整后日期的毫秒数表示(自1970年1月1日午夜到Date对象所表示日期之间的毫秒数) set[UTC]FullYear(year,month,day) 使用年、月、日字段设置日期,月、日字段可选。返回值用调整后日期的毫秒数表示 set[UTC]Hours(hours,mins,secs,ms) 使用时、分、秒和毫秒设置日期时间,分、秒和毫秒字段可选。返回值用调整后日期的毫秒数表示 set[UTC]Milliseconds(millis) 设置日期中毫秒字段的值,参数millis的值必须在0-999之间。返回值用调整后日期的毫秒数表示 set[UTC]Minutes(minutes,seconds,millis) 使用分、秒和毫秒设置日期时间,秒和毫秒字段可选。返回值用调整后日期的毫秒数表示 set[UTC]Month(month,day) 使用月和日字段设置日期,日字段可选。返回值用调整后日期的毫秒数表示 set[UTC]Seconds(seconds,millis) 使用秒和毫秒设置日期时间,毫秒字段可选。返回值用调整后日期的毫秒数表示 setTime(millis) 使用日期的内部毫秒数设置日期值。返回值用调整后日期的毫秒数表示(即与参数millis的值相同) setYear(year) (已废弃) 使用两位数字的年份设置日期中的年份 toDateString() 返回Date对象代表的日期时间中日期的字符串表示,采用本地时区表示日期 toGMTString() (已废弃) 返回采用GMT时区、以字符串表示的日期时间 toLocaleDateString() 返回Date对象代表的日期时间中日期的字符串表示,采用本地时区表示日期,并使用本地日期格式进行格式转换 toLocaleString() 将日期时间转换为字符串并返回,使用本地时区和本地日期格式进行格式转换 toLocaleTimeString() 返回Date对象代表的日期时间中时间的字符串表示,采用本地时区表示,并使用本地时间格式进行格式转换 toString 返回日期时间的字符串表示,使用本地时区 toTimeString() 返回Date对象代表的日期时间中时间的字符串表示,采用本地时区表示时间 toUTCString 返回日期时间的字符串表示,使用UTC时区 valueOf() 返回日期内部毫秒数表示的值,与getTime()方法的功能完全相同
除了上述与日期对象实例相关的方法之外,Date对象还提供了两个与Date对象实例无关的方法,它们必须使用Date()构造函数本身来调用,而不能通过Date对象实例来调用。它们是Date对象的静态方法。
方法 描述 Date.parse(date) 分析字符串形式表示的日期时间,并返回该日期时间对应的内部毫秒数表示值 Date.UTC(year,month,day,hour,min,sec,ms) 将UTC时区的“年月日时分秒”值转换为对应的日期时间内部毫秒数,并返回该内部毫秒数表示值
应用举例
下面来列举一些例子:点击下面的按钮来获取当前时间的不同表示。