Date 类型获取和设置日期时间信息的方法

海文国际 http://www.hwua.com Date 类型获取和设置日期时间信息的方法

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); //不同浏览器显示不同

海文国际 http://www.hwua.com

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')); //[1**********]00

如果 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()后台被调用

(1

PS : Date 对象及其在不同浏览器中的实现有许多奇怪的行为。其中有一种倾向是将超出的范围的值替换成当前的值,以便生成输出。例如,在解析“January 32, 2007” 时,有的浏览器会讲其解释为“February 1, 2007” 。而 Opera 则倾向与插入当前月份的当前日期。

海文国际 http://www.hwua.com

Date.UTC()方法同样也返回表示日期的毫秒数,但它与 Date.parse()在构建值时使用不同的信息。 年份,基于 0 的月份[0 表示 1 月, 表示 2 月],月中的哪一天[1-31],小时数[0-23],分钟,秒以及毫秒) 。只有前两个参数是必须的。如果没有提供月数,则天数为 1;如果省略其他参数,则统统为 0.

alert(Date.UTC(2011,11)); //[1**********]00

如果 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()); //以特定的格式显示星期几、月、日和年

海文国际 http://www.hwua.com

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()); //获取四位年份

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()); //返回分钟

海文国际 http://www.hwua.com

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()。表示世界协调时间。

海文国际 http://www.hwua.com Date 类型获取和设置日期时间信息的方法

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); //不同浏览器显示不同

海文国际 http://www.hwua.com

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')); //[1**********]00

如果 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()后台被调用

(1

PS : Date 对象及其在不同浏览器中的实现有许多奇怪的行为。其中有一种倾向是将超出的范围的值替换成当前的值,以便生成输出。例如,在解析“January 32, 2007” 时,有的浏览器会讲其解释为“February 1, 2007” 。而 Opera 则倾向与插入当前月份的当前日期。

海文国际 http://www.hwua.com

Date.UTC()方法同样也返回表示日期的毫秒数,但它与 Date.parse()在构建值时使用不同的信息。 年份,基于 0 的月份[0 表示 1 月, 表示 2 月],月中的哪一天[1-31],小时数[0-23],分钟,秒以及毫秒) 。只有前两个参数是必须的。如果没有提供月数,则天数为 1;如果省略其他参数,则统统为 0.

alert(Date.UTC(2011,11)); //[1**********]00

如果 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()); //以特定的格式显示星期几、月、日和年

海文国际 http://www.hwua.com

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()); //获取四位年份

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()); //返回分钟

海文国际 http://www.hwua.com

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()。表示世界协调时间。


相关内容

  • 日历代码解析
  • JA V A Calendar详解 收藏 (在文章的最后,将会介绍Date 类,如果有兴趣,可以直接翻到最后去阅读) 究竟什么是一个 Calendar 呢?中文的翻译就是日历,那我们立刻可以想到我们生活中有阳(公) 历.阴(农) 历之分.它们的区别在哪呢? 比如有: 月份的定义 - 阳`(公) 历 ...

  • 从零开始学习SD1
  • 1):SD1 销售相关的组织结构: 销售组织Sales organization 分销渠道Distribution channel 产品组Division 销售区域Sales area 销售办公室Sales office 销售组Sales group 销售人员Salesperson 工厂Plant ...

  • 软件开发流程管理规范
  • 软件开发流程管理规范 软件开发流程管理规范...................................................................................................................1 一.概述........ ...

  • 总结篇之七:ContentProvider之读写短消息
  • 古之成大事者,不惟有超世之才,亦有堅韌不拔之志.北宋.蘇軾<晁錯論> 我们的前辈中那些成就大事的人,不单单有过人的智慧和才能,也须有坚韧不拔的意志.试问没有坚韧的意志,如何写得出复杂的系统,如何创造出伟大的产品?作为程序员的我们,智慧和才能似乎不太欠缺,我们欠缺的也许是正是坚韧的意志,所 ...

  • 超市物流管理系统
  • <面向对象技术实训>课程实训报告 超市物品管理系统 姓 名:崔召杰 班 级:物联网一班 学 号:121210216 指导教师:王小辉 成 绩: 完成时间:2013年12月 完成地点:数据库实验室 1设计题目(问题)描述和要求 某超市需要对物品信息进行保存,包含物品姓名.工号.工龄.工作车 ...

  • 日期时间函数的应用
  • 日期时间函数的应用 1. 使用什么函数可以显示当前的日期 可以使用Today 函数啦实现.Today 没有参数. 2. 使用什么函数可以将数值转化为日期格式 可以使用date 函数来实现.Date 函数用于计算特定日期的系列编号.Date (年,月,日) 3. 想建立一个活动的倒计时显示牌,可以使用 ...

  • 7考勤软件算法实现方法
  • 考勤软件算法实现方法 一.问题的引出 众所周知,考勤是企业的薪酬计算.业绩考核的一个依据,也是对员工工作的积极性的一个重要的评价基础,企业的考勤是人力资源管理的最重要的一环.企业特别是制造业的考勤管理制度的优越性和公平性体现了企业的活力和人性.特别是对于我国的广大制造业,他们的考勤特点有:排班随机多 ...

  • 个人网页设计与制作-毕业论文
  • 合肥财经职业学院 西安电子科技大学网络学院毕业设计 毕业论文(实践)报告 系 别 专 业 年 级 学 制 学 号 姓 名 2010 年 09 月 摘 要 本论文将对个人网页设计与制作的方法.工具等展开研究和探讨.在介绍网页设计与制作语言的基础上,着重使用JavaScript作为工具语言进行网页设计与 ...

  • 民航售票系统
  • 民 航 售 票 系 统 班级 : 时间: 西北大学*** 2008-**-** 1.需求分析 以无歧义的陈述说明项目开发的任务,强调的是该项目要实现什么?并明确规定: (1) 项目采用的技术路线,支持软件: (2) 系统整体框架图: (3) 项目实现的功能点: 该项目为民航订票系统.由于经济水平的不 ...