# JavaScript 如何提取日期各字段 Date

**URL:** <https://www.isharkfly.com/t/javascript-date/8532>\
**Category:** 前端\
**Created:** [October 23, 2012, 2:56am UTC](https://www.isharkfly.com/t/javascript-date/8532 "2012-10-23T02:56:12Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![honeymoose](https://www.isharkfly.com/user_avatar/www.isharkfly.com/honeymoose/32/20796_2.png) [@honeymoose](https://www.isharkfly.com/u/honeymoose)\
**Post date:** [October 23, 2012, 2:56am UTC](https://www.isharkfly.com/t/javascript-date/8532/1 "2012-10-23T02:56:12Z")

</div>

Date 对象以目标日期与GMT 标准零点之间的毫秒数来储存该日期，给脚本程序员操作Date 对象带来一定的难度。

为解决这个难题，JavaScript 提供大量的方法而不是通过直接设置或读取属性的方式来设置和提取日期各字段，这些方法将毫秒数转化为对用户友好的格式。

下面的程序以中文方式在文本框中动态显示系统时间：[code]\<! DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.0//EN”  
“[http://www.w3.org/TR/REC-html140/strict.dtd](http://www.w3.org/TR/REC-html140/strict.dtd)”\>

Sample Page!   
  
 [/code]程序运行结果如图所示，并根据客户端时钟及时更新文本框内容

 ![](https://com-ossez-www-discourse.s3.dualstack.us-east-2.amazonaws.com/discourse-uploads/original/2X/9/9a6dff29d2d83d4e3b6fe2b2902f3dfebe6514e4.png)

上述代码主要包括如下内容：  
（1）MyTimer()函数：该函数首先构造空的Date 对象实例nowTime，用于保存当前系统的日期信息，然后通过Date 对象的各种提取日期中信息的方法，获得如年、月、日、时、分、秒等信息，并更改输出格式；启动定时器timerID 以及时更新Date 对象实例nowTime；

（2）MyWeek(week)函数：该函数将以数值参数传入的星期转化为英文表示的星期，并把结果以字符串的形式返回；

（3）MyMonth(month)函数：该函数将以数值参数传入的月份转化为英文表示的月份，并把结果以字符串的形式返回；

（4）StartClock()函数：该函数用于在文档载入时响应其onload()事件，并设置初始状态，并将主动权交给MyTimer()函数。

提取日期各字段的关键代码如下：`var nowTime = new Date();
var iyear = nowTime.getYear();
var imonth = nowTime.getMonth();
var iweek = nowTime.getDay();
var idate = nowTime.getDate();
var ihours= nowTime.getHours();
var iminutes = nowTime.getMinutes();
var iseconds = nowTime.getSeconds();`上述代码依次为构造用于保存当前日期的空对象和获取年、月、星期、日、小时、分、秒等日期字段，并分别用变量保存个各字段信息，用于后续处理。

上述日期都是客户端日期，Date 对象也提供了基于UTC 世界标准时间提取目标日期中各字段的诸多方法，如getUTCDay()、getUTCSeconds()等。

这些方法的使用过程与实例中的相同，只不过操作的基础不是客户端日期，而是UTC 世界标准时间。

理解了如何从现有 Date 对象实例中提取日期各字段的问题后，下面了解设置日期中的各字段的方法。
