`
卓越团队
  • 浏览: 11315 次
文章分类
社区版块
存档分类
最新评论

时间与日期

    博客分类:
  • js
 
阅读更多

学习要点:
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()); //获取四位年份
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()。表示世界协调时间。

分享到:
评论

相关推荐

    Java实现时间与日期程序(附源代码)

    在Java编程语言中,处理时间与日期是常见的需求,无论是记录事件发生的时间,还是进行时间相关的计算,都离不开对日期和时间的操作。本教程将深入探讨如何在Java中实现这样的程序,并提供源代码实例。 首先,Java...

    时间与日期的变换.rar

    时间与日期的变换.rar时间与日期的变换.rar时间与日期的变换.rar时间与日期的变换.rar时间与日期的变换.rar时间与日期的变换.rar时间与日期的变换.rar时间与日期的变换.rar时间与日期的变换.rar

    在Excel 2021中正确的显示时间与日期.docx

    在Excel 2021中,正确地显示时间与日期是一项关键的操作,这对于数据分析和报告制作至关重要。默认情况下,Excel会根据Windows系统控制面板中的区域日期和时间设置来显示日期和时间,但用户可以根据需要自定义这些...

    时间-日期 时间-日期

    无论是数据库操作、日志记录、定时任务还是用户界面显示,都需要精确地理解和运用时间与日期相关的概念和功能。以下将详细介绍标题“时间-日期”及描述“工作中常用来处理时间和日期”所涉及的关键知识点。 ### ...

    UTC2Time utc秒数时间与日期时间互相转换的工具

    utc秒数时间与日期时间互相转换的工具,注意是相互,不是单向。有时候有点用。

    c++实现时间与日期计算

    (4) 编写时间和日期的派生类CDati,完成日期与时间的联合设置、运算、比较等功能,要求该派生类可以完成:日期时间加天数或时间等于新的日期时间,日期时间减天数或等于新的日期时间,两个日期时间相减等于天数或...

    js 特效 html 特效 时间与日期的变换

    js 特效 html 特效 时间与日期的变换 js 特效 html 特效 时间与日期的变换

    易语言格式化时间和日期

    3. **格式化函数**:在处理时间日期时,我们常常需要将内部的数值转换为人类可读的格式,这就需要用到格式化函数。例如,“格式化日期”和“格式化时间”函数,它们允许开发者指定日期和时间的显示格式,如“年/月/...

    UTC2Time2.0 for mac utc秒数时间与日期时间转换工具

    自己写的小工具,提供utc秒数时间与日期时间之间的互相转换。 此版本为2.0 for MAC OS X 版本,也是该程序在MAC平台的首个版本。 2.0版本主要改进如下: 1.增加日历功能,方便日期选择 2.输出结果支持右键菜单...

    PHP 5.2 标准课程初级时间与日期-2

    PHP 5.2 标准课程初级时间与日期-2

    PHP 5.2 标准课程初级时间与日期-1

    PHP 5.2 标准课程初级时间与日期-1

    时间和日期程序

    这个库提供了处理时间日期的类和函数,如`time_t`类型用于存储时间戳,`ctime()`、`localtime()`和`gmtime()`函数用于将时间戳转换为可读格式,还有`struct tm`结构体用于表示日期和时间。开发者可以通过这些工具...

    UTC2Time2.0 for win utc秒数时间与日期时间转换工具

    自己写的小工具,提供utc秒数时间与日期时间之间的互相转换。 此版本为2.0版本,主要改进如下: 1.增加日历功能,方便日期选择 2.输出结果支持右键菜单复制、粘贴 本程序需要VC 2008运行库支持,如果无法执行,请...

    UTC2Time utc秒数时间与日期时间转换工具

    UTC2Time是一款小巧而实用的工具,专门设计用于进行UTC(协调世界时)秒数与日期时间之间的相互转换。在IT行业中,理解时间戳和如何在不同时间格式间转换是至关重要的技能,尤其是在处理日志文件、系统时间同步或者...

    SQL中常用的的时间跟日期函数

    在SQL(结构化查询语言)中,时间与日期函数是处理日期和时间数据的重要工具,它们可以帮助我们进行各种时间相关的计算、格式化和提取操作。本文将深入探讨SQL中的主要时间与日期函数,并通过实例来展示其具体用法。...

    日期时间选择控件(可以只显示日期选择或者只显示时间选择)

    日期时间选择控件是软件开发中常见的用户界面组件,它允许用户方便地选取特定的日期或时间。...通过理解和应用这些知识点,开发者可以提升应用程序的用户体验,让时间与日期的选取变得更加轻松便捷。

    JAVA时间和日期图解.rar

    Java时间与日期处理是编程中的常见任务,尤其是在开发业务应用或者数据分析时。Java提供了多种类库来处理日期和时间,包括早期的`java.util.Date`和`Calendar`,以及Java 8引入的`java.time`包。这个"JAVA时间和日期...

    网页特效——时间日期篇3

    包括日历,日历生成器,日期自由选择,日期显示,生日提醒器,剩余时间,十六进制时间显示,时间按钮提示,时间特殊显示,时间呼唤起,时间精确计算程序,时间日期转换,时间跳动器,时间相互对比,时间与日期的变换...

    时间日期插件

    在IT领域,时间日期插件是一种非常常见的工具,主要用于应用程序中处理和展示时间与日期相关的功能。这种插件能够帮助开发者轻松地实现时间的显示、计算、格式化以及用户交互等任务,尤其在Web开发中,如JSP(Java...

Global site tag (gtag.js) - Google Analytics