创建日期对象的方法

要创建一个日期函数,使用new操作符和Date构造函数,例如:
var now = new Date();

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

如果想根据特定的日期和时间创建日期对象,必须传入该日期的毫秒数,即即从 UTC时间 1970年 1月 1日午 夜起至该日期止经过的毫秒数。为了简化这一计算过程,ECMAScript 提供了两个方法:Date.parse() 和 Date.UTC()。

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

将地区设置为美国的浏览器通常都接受下列日期格式:

  • “月/日/年”,如 6/13/2004; 
  • “英文月名 日,年”,如 January 12,2004; 
  • “英文星期几 英文月名 日 年 时:分:秒 时区”,如 Tue May 25 2004 00:00:00 GMT-0700。 
  • ISO 8601 扩展格式YYYY-MM-DDTHH:mm:ss.sssZ(例如 2004-05-25T00:00:00)。只有兼容 ECMAScript 5的实现支持这种格式。

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

实际上,如果直接将表 示日期的字符串传递给 Date 构造函数,也会在后台调用 Date.parse()。
因此:

var someDate = new Date("May 25, 2004");

等价于

var someDate = new Date(Date.parse("May 25, 2004"));
console.log(someDate); //Tue May 25 2004 00:00:00 GMT+0800 (中国标准时间)

Date.UTC()方法

Date.UTC()方法同样也返回表示日期的毫秒数,但它与 Date.parse()在构建值时使用不同的信息。Date.UTC()的参数分别是年份、基于0的月份(一月是 0,二月是 1,以此类推)、月中的哪一天 (1 到 31)、小时数(0 到 23)、分钟、秒以及毫秒数。在这些参数中,只有前两个参数(年和月)是必需的。如果没有提供月中的天数,则假设天数为 1;如果省略其他参数,则统统假设为 0。以下是两个使用 Date.UTC()方法的例子:

// GMT 时间 2000 年 1 月 1 日午夜零时
var y2k = new Date(Date.UTC(2000, 0));
console.log(y2k);//Sat Jan 01 2000 08:00:00 GMT+0800 (中国标准时间)// GMT 时间 2005 年 5 月 5 日下午 5:55:55
var allFives = new Date(Date.UTC(2005, 4, 5, 17, 55, 55));
console.log(allFives); // Fri May 06 2005 01:55:55 GMT+0800 (中国标准时间)

:返回的时间有误差的原因是new Date() 方法返回的是本机时间,也就是东八区的时间,Date.UTC()返回的是0时区的时间,返回的是0时区的时间与1970.1.1相差的毫秒数,两者相差8个小时。

如同模仿 Date.parse()一样,Date 构造函数也会模仿 Date.UTC(),但有一点明显不同:日期 和时间都基于本地时区而非 GMT来创建。不过,Date 构造函数接收的参数仍然与 Date.UTC()相同。因此,如果第一个参数是数值,Date 构造函数就会假设该值是日期中的年份,而第二个参数是月份, 以此类推。
例如:

// 本地时间 2000 年 1 月 1 日午夜零时
var y2k = new Date(2000, 0); // 本地时间 2005 年 5 月 5 日下午 5:55:55
var allFives = new Date(2005, 4, 5, 17, 55, 55);

Date.now()方法
Date.now()方法返回调用这个方法的日期和时间的毫秒数。
例如:

var now=Date.now();
console.log(now);   // 1600424632596

+操作符
,使用+操作符把 Data 对象转换成字符串,也可以达到返回调用这个方法的日期和时间的毫秒数的目的。
例如:

var now= + new Date();
console.log(now); //1600424747827

继承的方法

toLocalString()方法
toLocalString()方法会按照与浏览器设置的地区相适应的格式返回日期和时间。
toString()方法
*toString()方法通常返回带有时区信息的日期和时间,其中时间一般以军用时间表示
valueOf()方法
valueOf()方法返回日期的毫秒表示。因此可以方便使用比较操值作符来比较日期。

例如:

var now= new Date();
console.log(now); //Fri Sep 18 2020 18:33:48 GMT+0800 (中国标准时间)
console.log(now.toLocaleString()); //2020/9/18 下午6:33:48
console.log(now.toString());  //Fri Sep 18 2020 18:33:48 GMT+0800 (中国标准时间)
console.log(now.valueOf()); //1600425228750

日期格式化方法

  • toDateString()——以特定于实现的格式显示星期几、月、日和年; 
  • toTimeString()——以特定于实现的格式显示时、分、秒和时区; 
  • toLocaleDateString()——以特定于地区的格式显示星期几、月、日和年; 
  • toLocaleTimeString()——以特定于实现的格式显示时、分、秒; 
  • toUTCString()——以特定于实现的格式完整的 UTC日期。
    与 toLocaleString()和 toString()方法一样,以上这些字符串格式方法的输出也是因浏览器 而异的,因此没有哪一个方法能够用来在用户界面中显示一致的日期信息。

日期组件方法

JavaScript引用类型之Date类型相关推荐

  1. javascript中的Date类型

    1.JavaScript中的Date表示日期时间. 2.new Date()返回日期对象,是本地时间 3.Date.parse()接受一个时间字符串返回时间戳.也是本地时间,所以Date.parse( ...

  2. 将C#中DateTime类型转化为JavaScript中的Date类型

    将C#中的DateTime类型数据返回到前端页面时,显示的样子如下图所示: 可以用JS前端操作转化成JS的Date格式,直接上代码 : // 对Date的扩展,将 Date 转化为指定格式的Strin ...

  3. JavaScript中格式化Date类型

    方法一: //  对Date的扩展,将 Date 转化为指定格式的String //  月(M).日(d).小时(h).分(m).秒(s).季度(q) 可以用 1-2 个占位符,  //  年(y)可 ...

  4. 第五部份 01 深入JavaScript与.NET Framework中的日期时间 JavaScript中的Date类型

    参考文章 http://www.cnblogs.com/JeffreyZhao/archive/2007/06/06/Inside_Date_and_Time_in_JavaScript_and_Do ...

  5. js Date 类型 的取值、计算、格式化 与 moment.js

    js Date 类型 的取值.计算.格式化 与 moment.js 前言 笔者工作多年,作为一个爱思考的程序员,一直在想一个问题:究竟怎样才可以让自己变的更强.. 对不起各位,说的太中二了,让我们重新 ...

  6. java引用类型和值类型_[Java教程]JavaScript中值类型和引用类型的区别

    [Java教程]JavaScript中值类型和引用类型的区别 0 2017-02-24 00:00:35 JavaScript的数据类型分为两类:原始类型和对象类型.其中,原始类型包括:数字.字符串和 ...

  7. 从头开始学JavaScript (十三)——Date类型

    说明:UTC:国际协调日期 GMT:格林尼治标准时间 一.date类型的创建 使用new操作符和Date()构造函数 var now=new Date(): 传入参数:Date.parse()和Dat ...

  8. JavaScript 读书笔记(二)— Date类型

    Date类型 ECMAScript中的Date类型是在早期Java中的java.util.Date类基础上构建的.因此,Date类型使用自UTC(Coordinated Universal Time, ...

  9. javascript引用类型

    引用类型常被称为 "类",但是这在JavaScript中不太合适.它是属性和方法的集合. 引用类型的值"对象"是引用类型的实例. 特殊的标识符和运算符  符号 ...

最新文章

  1. NEFU84——五指山(Exgcd)
  2. linux shell脚本 wget,bash – 在shell脚本中运行wget和其他命令
  3. 网鼎杯2020 朱雀部分writeup
  4. appium执行iOS测试脚本并发问题
  5. 第二个spring冲刺总结
  6. Android app应用多语言切换功能实现
  7. DOM、JDOM、DOM4J解析XML
  8. a form 出口享惠情况_关税聚焦 | 报关单“出口享惠情况”填报解读
  9. 未检测到与wia兼容的设备_如何解决应用程序找不到扫描仪:错误WIA_ERROR_OFFLINE!...
  10. 如何建立一个Java商城系统?
  11. 2.4G射频电路设计参考(wifi ble)
  12. 新浪微博批量删除功能
  13. win11自带的照片查看器无法打印问题解决
  14. adobe illustrator 绘制平行四边形
  15. [MATLAB]从键盘输入一个带有字母构成的字符串,要求大写变小写,小写变大写输出。
  16. PCFG句法分析之CYK算法
  17. AutodeskCAD卸载后无法再次安装?完美解决!
  18. element ui 表格全选与否
  19. 最新程序员冷段子,戳到你痛处了吗?
  20. 推送本地电子书到kindle上

热门文章

  1. 写给男人的十句悄悄话,想知道女人到底想要什么样的男人吗,那么请详读下文——
  2. Python pygame 坦克大战
  3. VS实现rar格式压缩包的解压详解
  4. android热修复技术tinker,Android热修复方案第一弹——Tinker篇
  5. 万丈高楼平地起,勿在浮沙筑高台--论程序员基础知识的重要性
  6. HDU 4508 湫湫系列故事――减肥记I 【完全背包】
  7. 云端是一个软件平台,拥有丰富的资源。在云端使用软件,无需安装,一点,下载,直接使用。
  8. AFN(向网络发送请求---文件上传)
  9. (一)、写一个怪物的类,类中有属性姓名(name),攻击力(attack),有打人的方法(fight)。(方法的重写)...
  10. 【OpenCV在图片上绘制点、圆(C++)】