JavaScript 时间以及日期

时间以及日期

 

上学要:

1.Date 类型

2.通用的措施

3.格式化方法

4.组起方式

 

ECMAScript 提供了Date 类型来拍卖时以及日期。Date
类型内置一多元收获和安装日期时信息之法子。

 

一.Date类型

ECMAScript 中的Date 类型是于初期Java 中java.util.Date
类基础及构建的。为者,Date类型使用UTC (Coordinated Universal
Time,国际协调时[而且如世界统一时间]) 1970 年1 月1
日子夜(零时)开始通过的毫秒来保存日期。在使用这种多少存储格式的规则下,Date
类型保存之日子能够准确到1970 年1 月1 日前还是后的285616 年。

创造一个日期对象,使用new 运算符和Date 构造方法(构造函数)即可。

 

var box = new Date(); //创建一个日期对象

 

当调用Date
构造方法而未传递参数的气象下,新建的目标活动取当前底光阴和日期。

 

alert(box); //不同浏览器显示不同

 

ECMAScript
提供了区区个章程,Date.parse()和Date.UTC()。Date.parse()方法接收一个象征日期的字符串参数,然后尝试根据此字符串返回相应的毫秒数。ECMA-262
没有概念Date.parse()应该支持啊种日期格式,因此方法的行为为实现而异,因所在而异。默认通常接收的日子格式如下:

1.’月/日/年’,如6/13/2011;

2.’英文月名日, 年’,如May 25, 2004;

3.’英文星期几花文月名日年时:分:秒时区’,如Tue May 25 2004 00:00:00
GMT-070

 

alert(Date.parse(‘6/13/2011’)); //1307894400000

 

设若Date.parse()没有传来或者无是明媒正娶的日期格式,那么就会回来NaN。

 

alert(Date.parse()); //NaN

 

假设想出口指定的日子,那么将Date.parse()传入Date 构造方法里。

 

var box = new Date(Date.parse(‘6/13/2011’));//Mon Jun 13 2011 00:00:00
GMT+0800

var box = new Date(‘6/13/2011’); //直接传入,Date.parse()后台受调用

 

PS:Date
对象及其在不同浏览器被之落实有不少意料之外之行。其中起平等栽倾向是用跨越

发出底限量之价值替换成当下的价值,以便生成输出。例如,在条分缕析“January 32,
2007”时,有的浏览器会说那个说也“February 1, 2007”。而Opera
则倾向和插入时月之手上日子。

Date.UTC()方法一致也回表示日期的毫秒数,但它和Date.parse()在构建值时用不同之信。(年份,基于0
的月份[0 表示1 月,1 表示2
月],月被之呐一样上[1-31],小时数[0-23],分钟,秒和毫秒)。只有前少独参数是必的。如果没提供月数,则数为1;如果省略其他参数,则备为0.

 

alert(Date.UTC(2011,11)); //1322697600000

 

倘Date.UTC()参数传递错误,那么即便会见出现负值或者NaN 等地下信息。

 

alert(Date.UTC()); //负值或者NaN

 

如只要出口指定日期,那么直接把Date.UTC()传入Date 构造方法里即可。

 

var box = new Date(Date.UTC(2011,11, 5, 15, 13, 16));

 

二.通用的主意

同其它类一样,Date
类型也还写了toLocaleString()、toString()和valueOf()方法;但这些主意返回值与外品类受到的道不同。

 

var box = new Date(Date.UTC(2011,11, 5, 15, 13, 16));

alert(‘toString:’ + box.toString());

alert(‘toLocaleString:’ + box.toLocaleString()); //按本地格式输出

 

PS:这点儿个方式以不同浏览器显示的效用又不相同,但并非操心,这片只法子只有是当调节比较起因此,在显示时间及日期及,没什么价值。valueOf()方法显示毫秒数。

 

三.日期格式化方法

Date 类型还有部分特地用于将日期格式化为字符串的方。

 

var box = new Date();

alert(box.toDateString()); //以特定的格式显示星期几、月、日与年

alert(box.toTimeString()); //以特定的格式显示时、分、秒和时区

alert(box.toLocaleDateString()); //以特定地段格式显示星期几、月、日和年

alert(box.toLocaleTimeString()); //以特定地段格式显示时、分、秒和时区

alert(box.toUTCString()); //以特定的格式显示完整的UTC 日期。

 

四.组起方式

零件方法,是啊咱单独赢得你想只要之各种时间/日期若提供的计。需要留意的时光,

这些点子吃,有带UTC 的,有未带UTC 的。UTC
日期指的是于尚未时区偏差的动静下的日期值。

 

alert(box.getTime()); //获取日期的毫秒数,和valueOf()返回一致

alert(box.setTime(100)); //以毫秒数设置日期,会改变总体日期

alert(box.getFullYear()); /ECMAScript/获取四各类年

alert(box.setFullYear(2012)); //设置四各年,返回的是毫秒数

alert(box.getMonth()); //获取月份,没借助定月份,从0 开始算从

alert(box.setMonth(11)); //设置月份

alert(box.getDate()); //获取日期

alert(box.setDate(8)); //设置日期,返回毫秒数

alert(box.getDay()); //返回星期几,0 代表星期日,6 表示星期六

alert(box.setDay(2)); //设置星期几

alert(box.getHours()); //返回时

alert(box.setHours(12)); //设置时

alert(box.getMinutes()); //返回分钟

alert(box.setMinutes(22)); //设置分钟

alert(box.getSeconds()); //返回秒数

alert(box.setSeconds(44)); //设置秒数

alert(box.getMilliseconds()); //返回毫秒数

alert(box.setMilliseconds()); //设置毫秒数

alert(box.getTimezoneOffset()); //返回本地时间跟UTC 时间距离的分钟数

 

PS:以上措施除了getTimezoneOffset(),其他还独具UTC
功能,例如setDate()及getDate()

获得星期几,那么就算会起setUTCDate()及getUTCDate()。表示世界和谐时。