JavaScript Date(日期)对象

一、Date类型简介

Date对象在JS中用于处理时间和日期。

ECMAScript 中的 Date类型是早期在 Java 中的 java.util.Date 类基础上创建的。因此,Date 类型使用来自UTCCoordinated Universal Time国际协调时间)1970年 1月 1日午夜(零时)开始经过的毫秒数来保存日期。在这种数据存储格式条件下,Date 类型保存的日期都可以精确到 1970年 1月 1日之前或是之后的 100 000 000天。

关于日期和时间的基本的基本知识:

UTC是什么?

  协调世界时间Coordinated Universal  Time)又称世界统一时间、世界标准时间、国际协调时间)协调世界时是以原子时秒长为基础的,在时刻上尽量接近于 世界时的一种时间计量系统。

这套时间系统被应用于许多互联网和万维网的标准中。例如,网络时间协议 就是 协调世界时 在互联网中使用的一种方式。

在军事中,协调世界时区会使用 ‘Z’来表示。又由于 Z 在无线电联络中使用的是 ‘Zulu’ 作代称,协调世界时也会被称为 ‘Zulu time’

中国大陆、中国香港、中国澳门、中国台湾、蒙古国、新加坡、马来西亚、菲律宾、西澳大利亚州的时间与 UTC的时差均为 +8,也就是 UTC+8;

二、创建Date对象

创建一个 日期对象,使用 new操作符和 Date构造函数即可

例如:var now = new Date();

自动获得当前的日期和时间

在调用 Date 构造函数而不传递参数的情况下,新创建的对象自动获得当前当前代码执行的日期和时间。

根据特定的日期和时间创建日期对象。

需要在构造函数中传递一个表示时间的字符串作为参数。

new Date()

日期的格式:月份/日/年 时:分:秒

必须传入表示该日期的毫秒数(即从UTC时间 1970年 1月 1日午夜起至该日期止所经过的毫秒数)。

三、方法

JS中提供了三个方法:Date.parse() 、 Date.UTC() 以及 Date.now()

(一)Date.parse() 方法

Date.parse() 方法接收一个表示日期的字符串作为参数,然后尝试根据这个字符串返回相应的日期毫秒数。

JS中没有定义 Date.parse() 方法应该支持哪种日格式,因此这个方法的行为因实现而异。将地区设置为美国的浏览器通常都接受以下日期格式。

1、"月/日/年",例如 12/6/2019;

2、"英文月名 日,年",例如 January 12,2019;

3、"英文星期几 英文月名 日 年 时:分:秒:时区",例如 Tue May 25 2010 00:00:00 GMT-0700

例如:

var newDate = new Date(Date.parse(‘May 25,2019‘));
console.log(newDate);

如果传入Date.parse() 方法的字符串不能表示日期,那么将会返回 NaN。

实际上,如果直接将表示日期的字符串传递给 Date 构造函数,也会在后台调用 Date.parse() 。换句话说,这行代码和上面的例子是等价的;

这行代码将会得到与前面相同的日期对象。

var newDate = new Date(‘May 25 , 2019‘);

 注意:

日期对象及其在不同的浏览器会有不同的表现行为,如果超出了有效日期(12个月/一月最多31天/),例如firefox浏览器就会返回 Invalid Date(无效日期)

(二)Date.UTC()方法

Date.UTC() 方法同样也返回日期的毫秒数,但是它与 Date.parse在构建值的时候使用不同的信息。

Date.UTC() 的参数分别是年份、基于0的月份(一月是1,二月是2…)、月中的哪一天(1~31)、小时数(0~23)、分钟、秒以及毫秒数。

在这些参数中,中有前面两个(年和月)是必填的。如果没有提供月中的天数,就假设天数为 1;如果是其他参数,则统统假设为0。

实例:

GMT时间 2000年 1月1日午夜0时

var newDate = new Date(Date.UTC(2019,0));
console.log(newDate);

创建了一个日期对象,这个对象表示 GET时间2019年1月1日午夜0时,传入的第一个值表示年份的 2000,一个是表示月份的 0(即1月份),因为其他参数是自动填充的。

(三)Date.now() 方法:返回自 1970-1-1 00:00:00  UTC(世界标准时间)至今所经过的毫秒数。

三、日期格式化方法

Date 类型还有一些专门用于将日期格式转化为字符串的方法,方法如下:

1、toDateString()   :以特定于实现的格式显示星期几、月、日、年;

2、toTimeString()  :以特定于实现的格式显示时、分、秒、时区

3、toLocaleDateString()   :以特定于地区的格式显示星期几、月、日、年;

4、toLocaleTimeString()  :以特定于地区的格式显示时、分、秒

5、toUTCString()  :以特定于实现的格式显示UTC日期

  与toLocaleString() 和 toString() 方法一样,以上这些字符串格式方法的输出也是因浏览器而异的,因此没有哪一个方法能狗用来在用户界面中显示一致的日期信息。

四、日期/时间组件

Date.prototype 方法

Date.prototype.getDate()

  根据本地时间返回指定日期对象的月份中的第几天(1-31)。

Date.prototype.getDay()

  根据本地时间返回指定日期对象的星期中的第几天(0-6)。

Date.prototype.getFullYear()

  根据本地时间返回指定日期对象的年份(四位数年份时返回四位数字)。

Date.prototype.getHours()

  根据本地时间返回指定日期对象的小时(0-23)。

Date.prototype.getMilliseconds()

  根据本地时间返回指定日期对象的毫秒(0-999)。

Date.prototype.getMinutes()

  根据本地时间返回指定日期对象的分钟(0-59)。

Date.prototype.getMonth()

  根据本地时间返回指定日期对象的月份(0-11)。

Date.prototype.getSeconds()

  根据本地时间返回指定日期对象的秒数(0-59)。

Date.prototype.getTime()

  返回从1970-1-1 00:00:00 UTC(协调世界时)到该日期经过的毫秒数,对于1970-1-1 00:00:00 UTC之前的时间返回负值。

Date.prototype.getTimezoneOffset()

  返回当前时区的时区偏移。

Date.prototype.getUTCDate()

  根据世界时返回特定日期对象一个月的第几天(1-31).

Date.prototype.getUTCDay()

  根据世界时返回特定日期对象一个星期的第几天(0-6).

Date.prototype.getUTCFullYear()

  根据世界时返回特定日期对象所在的年份(4位数).

Date.prototype.getUTCHours()

  根据世界时返回特定日期对象当前的小时(0-23).

Date.prototype.getUTCMilliseconds()

  根据世界时返回特定日期对象的毫秒数(0-999).

Date.prototype.getUTCMinutes()

  根据世界时返回特定日期对象的分钟数(0-59).

Date.prototype.getUTCMonth()

  根据世界时返回特定日期对象的月份(0-11).

Date.prototype.getUTCSeconds()

  根据世界时返回特定日期对象的秒数(0-59).

Date.prototype.getYear()

  根据特定日期返回年份 (通常 2-3 位数). 使用 getFullYear() .

setter

Date.prototype.setDate()

  根据本地时间为指定的日期对象设置月份中的第几天。

Date.prototype.setFullYear()

  根据本地时间为指定日期对象设置完整年份(四位数年份是四个数字)。

Date.prototype.setHours()

  根据本地时间为指定日期对象设置小时数。

Date.prototype.setMilliseconds()

  根据本地时间为指定日期对象设置毫秒数。

Date.prototype.setMinutes()

  根据本地时间为指定日期对象设置分钟数。

Date.prototype.setMonth()

  根据本地时间为指定日期对象设置月份。

Date.prototype.setSeconds()

  根据本地时间为指定日期对象设置秒数。

Date.prototype.setTime()

  通过指定从 1970-1-1 00:00:00 UTC 开始经过的毫秒数来设置日期对象的时间,对于早于 1970-1-1 00:00:00 UTC的时间可使用负值。

Date.prototype.setUTCDate()

  根据世界时设置 Date 对象中月份的一天 (1 ~ 31)。

Date.prototype.setUTCFullYear()

  根据世界时设置 Date 对象中的年份(四位数字)。

Date.prototype.setUTCHours()

  根据世界时设置 Date 对象中的小时 (0 ~ 23)。

Date.prototype.setUTCMilliseconds()

  根据世界时设置 Date 对象中的毫秒 (0 ~ 999)。

Date.prototype.setUTCMinutes()

  根据世界时设置 Date 对象中的分钟 (0 ~ 59)。

Date.prototype.setUTCMonth()

  根据世界时设置 Date 对象中的月份 (0 ~ 11)。

Date.prototype.setUTCSeconds()

  根据世界时设置 Date 对象中的秒钟 (0 ~ 59)。

Date.prototype.setYear()

  setYear() 方法用于设置年份。请使用 setFullYear() 方法代替。

Conversion getter

Date.prototype.toDateString()

  以人类易读(human-readable)的形式返回该日期对象日期部分的字符串。

Date.prototype.toISOString()

  把一个日期转换为符合 ISO 8601 扩展格式的字符串。

Date.prototype.toJSON()

  使用 toISOString() 返回一个表示该日期的字符串。为了在 JSON.stringify() 方法中使用。

Date.prototype.toGMTString()

  返回一个基于 GMT (UT) 时区的字符串来表示该日期。请使用 toUTCString() 方法代替。

Date.prototype.toLocaleDateString()

  返回一个表示该日期对象日期部分的字符串,该字符串格式与系统设置的地区关联(locality sensitive)。

Date.prototype.toLocaleFormat()

  使用格式字符串将日期转换为字符串。

Date.prototype.toLocaleString()

  返回一个表示该日期对象的字符串,该字符串与系统设置的地区关联(locality sensitive)。覆盖了 Object.prototype.toLocaleString() 方法。

Date.prototype.toLocaleTimeString()

  返回一个表示该日期对象时间部分的字符串,该字符串格式与系统设置的地区关联(locality sensitive)。

Date.prototype.toSource()

  返回一个与Date等价的原始字符串对象,你可以使用这个值去生成一个新的对象。重写了 Object.prototype.toSource() 这个方法。

Date.prototype.toString()

  返回一个表示该日期对象的字符串。覆盖了Object.prototype.toString() 方法。

Date.prototype.toTimeString()

  以人类易读格式返回日期对象时间部分的字符串。

Date.prototype.toUTCString()

  把一个日期对象转换为一个以UTC时区计时的字符串。

Date.prototype.valueOf()

  返回一个日期对象的原始值。覆盖了 Object.prototype.valueOf() 方法。

原文地址:https://www.cnblogs.com/nyw1983/p/12000262.html

时间: 2024-10-13 03:19:34

JavaScript Date(日期)对象的相关文章

JavaScript Date日期对象以及日期格式化方法

前言 Date对象是javascript语言中内置的数据类型,用于提供日期和时间的操作接口.Date对象是在早期java中的java.util.Date类基础上创建的,为此,Date类型使用自UTC1970年1月1日0点开始经过的毫秒数来保存日期,它可以表示的时间范围是1970年1月1日0点前后的各1亿天. 静态方法 总共有3个静态方法:Date.now().Date.parse().Date.UTC() [Date.now()] ECMAScript5新增了now()方法,该方法返回当前时间距

javascript的日期对象Date操作时间日期值

创建一个日期对象: var objDate=new Date([arguments list]); 我总结了参数形式主要有以下3种: new Date("month dd yyyy hh:mm:ss");//后面的hh:mm:ss可选(不选的话就是默认的开始时间),而且前三项的顺序可以随意,甚至各字段后面可以加逗号 new Date(yyyy,mth,dd,hh,mm,ss); //除了前两个字段(年.月字段)外,其余的都是可选的(不选的话就默认为开始的),不过,此处顺序最好别随意变换

JavaScript的日期对象显示当前日期和时间

题目解析: 使用JavaScript的日期对象显示当前日期和时间,先用new Date()来定义一个时间oDate对象,再根据oDate对象来获取年月日和时分秒的值: var oDate=new Date();var oYear=oDate.getFullYear();获取当年的年份var oMonth=oDate.getMonth()+1;获取当月的月份var oDay=oDate.getDate();获取当日的日期var oHours=oDate.getHours();获取当天的小时var

JavaScript之Date日期对象扩展

一.前言 JavaScript Date对象提供了诸多日期相关属性以及操作日期的相关方法,为开发网站带来了许多方便.然而,大部分web页面展示给用户的日期格式可能是这样:yyyy-MM-dd hh:mm:ss(类似于c# java的ToString()). 不论是JavaScript Date对象的toString()方法,还是JavaScript Date对象的toGMTString().toISOString().toLocaleDateString()等方法,都无法转化成我们平时开发中想要

Javascript:日期对象(Date)的基本用法

本文代码整理自w3school:http://www.w3school.com.cn 1.获取当前日期: document.write("Current time: "+new Date()); 2.获取时间戳(毫秒): document.write(new Date().getTime()); 3.设置年月日(年为必选,月日为可选): var d = new Date(); d.setFullYear(2012,3,16) document.write(d); document.wr

JS内置对象-String对象、Date日期对象、Array数组对象、Math对象

一.JavaScript中的所有事物都是对象:字符串.数组.数值.函数... 1.每个对象带有属性和方法 JavaScript允许自定义对象 2.自定义对象 a.定义并创建对象实例 b.使用函数来定义对象,然后创建新的对象实例 二.JS内置对象-String 1.string对象 string对象用于处理已有的字符串 字符串可以使用单引号或者双引号 2.indexOf( )  在字符串中查找字符串,如果匹配成功返回首字母所在的位置,否则返回-1 3.match() 匹配成功,返回匹配成功的数组,

面向对象认识JS-内置对象(重点)--date日期对象

四种构造函数重载方法.----什么是方法重载?? 构造函数 - 第一种重载方法:基本 当前时间 date = new Date(); //返回时间对象 以调用getDate(),内容为当前时间 console.log(date); //Thu Sep 24 2015 14:01:53 GMT+0800 (中国标准时间) date = Date(); //返回时间字符串 没有getDate等日期对象方法,内容为当前时间 console.log(date); //Thu Sep 24 2015 14

4.Date 日期对象

日期对象可以储存任意一个日期,并且可以精确到毫秒数(1/1000 秒). 定义一个时间对象 : var Udate=new Date(); 注意:使用关键字new,Date()的首字母必须大写. 使 Udate 成为日期对象,并且已有初始值:当前时间(当前电脑系统时间). 如果要自定义初始值,可以用以下方法: var d = new Date(2012, 10, 1); //2012年10月1日 var d = new Date('Oct 1, 2012'); //2012年10月1日 我们最好

Date日期对象

js日期对象的方法 1. 获取日期对象 var mydate=new Date(); mydate: Tue Aug 11 2015 10:25:49 GMT+0800 (中国标准时间) 2.年份------ get/setFullYear() var year=mydate.getFullYear();    year:2015; mydate.setFullYear(81);               year:0081 3.月份-------get/setMonth() var mont

Date 日期对象

定义一个时间对象 var date=new Date()//显示当前电脑的日期 var d=new Date(2012,10,1);// 定义一个日期. 反回星期的方法: getDay() 返回星期,返回的是0-6的数字,0 表示星期天 <script type="text/javascript">    var mydate=new Date();    var weekday=["星期日","星期一","星期二"