Date对象

  Date 是一个构造函数,首先要通过 new Date() 来创建实例对象,提供实例成员。

   创建 Date 实例用来处理日期和时间。Date 对象基于 1970年1月1日(世界标准时间)起的毫秒数。

构造方法:

  1、空构造函数

var now = new Date();    

    通过空参构造函数,获取当前时间,UTC 世界时间,距1970年1月1日(世界标准时间)起的毫秒数

  2、毫秒数来获取时间

var date1 = new Date(149809900356);       // 通过毫秒数获取指定日期

  3、日期格式字符串

var date2 = new Date('2019-8-16');        // 通过指定日期获取日期

  4、年、月、日格式

var date3 = new Date(2019,7,16);           // 通过指定年/月/日 获取日期

获取日期毫秒形式的方法:

  1、通用方法

var now = new Date();
console.log(now.valueof()); // valueof 用于获取对象的原始值
console.log(now.getTime());

  2、HTML5的方法

var now = Date.now();                // HTML5中提供的静态成员,有兼容性问题,

  3、其他方法

// 不支持HTML5的浏览器,可以用下面这种方式
var now = + new Date(); // 相当于调用 Date 对象的 valueof() 方法
var now = Number(new Date())

日期格式化方法:

toString()              // 将日期转化为字符串
valueof() // 获取日期的毫秒值
toDateString() // 将日期转化为字符串
toTimeString() // 将时间转化为字符串
toLocaleDateString() // 将日期转化为本地日期字符串
toLocaleTimeString() // 将时间转化为本地时间字符串

  注意:后四种方法在不同浏览器可能表现不一致,一般不用。

获取日期指定部分:

getTime()               // 返回毫秒数和 valueof()结果一样,valueof()调用的 getTime()
getMilliseconds()
getSeconds() // 返回 0-59
getMinutes() // 返回 0-59
getHours() // 返回 0-23
getDay() // 返回星期几,0 周日,6 周六
getDate() // 返回当前月的第几天
getMonth() // 返回月份,从 0 开始计数
getFullYear() // 返回4位的年份

案例:

  1、格式化日期对象,返回 yyyy-MM-dd HH:mm:ss 的形式

  function formatDate(date) {
// 判断参数date是否是日期对象
// instanceof instanceof 实例(对象)
if (!(date instanceof Date)) {
console.error('date不是日期对象')
return;
} var year = date.getFullYear(),
month = date.getMonth() + 1,
day = date.getDate(),
hour = date.getHours(),
minute = date.getMinutes(),
second = date.getSeconds(); month = month < 10 ? '0' + month : month;
day = day < 10 ? '0' + day : day;
hour = hour < 10 ? '0' + hour : hour;
minute = minute < 10 ? '0' + minute : minute;
second = second < 10 ? '0' + second : second; return year + '-' + month + '-' + day + ' ' + hour + ':' + minute + ':' + second;
}

  2、计算时间差,返回相差的天/时/分/秒

 function getInterval(start, end) {
// 两个日期对象,相差的毫秒数
var interval = end - start;
// 求 相差的天数/小时数/分钟数/秒数
var day, hour, minute, second; // 两个日期对象,相差的秒数
interval /= 1000; day = Math.round(interval / 60 / 60 / 24);
hour = Math.round(interval / 60 / 60 % 24);
minute = Math.round(interval / 60 % 60);
second = Math.round(interval % 60);
    // 返回一个对象,键值对
return {
day: day,
hour: hour,
minute: minute,
second: second
}
}

JavaScript 之 Date对象的更多相关文章

  1. javascript中Date对象的应用——简易日历的实现

    × 目录 [1]效果 [2]HTML [3]CSS[4]JS 前面的话 简易日历作为javascript中Date对象的常见应用,用途较广泛.本文将详细说明简易日历的实现思路 效果演示 HTML说明 ...

  2. json里的日期字符串 怎么 转换成 javascript 的 Date 对象?

    “/Date(1232035200000)/” 怎么转换成  javascript 的 Date 对象 做法:new Date(+/\d+/.exec(value)[1]); value就是json字 ...

  3. javascript中Date对象的应用

    前面的话 简易日历作为javascript中Date对象的常见应用,用途较广泛.本文将详细说明简易日历的实现思路 效果演示 HTML说明 使用type=number的两个input分别作为年和月的输入 ...

  4. JavaScript的Date对象

    整理了一些JavaScript时间的对象,如下所示: toLocaleString()得到当前的年月日和时间的字符串 toLocaleTimeString() 得到当前的时间字符串 toLocaleD ...

  5. JavaScript中date 对象常用方法

    Date 对象 Date 对象用于处理日期和时间. //创建 Date 对象的语法: var datetime = new Date();//Date 对象会自动把当前日期和时间保存为其初始值. co ...

  6. JavaScript:Date 对象

    ylbtech-JavaScript:Date 对象 1.返回顶部 Date 对象 Date 对象用于处理日期和时间. 创建 Date 对象的语法: var myDate=new Date() 注释: ...

  7. javascript中Date对象复习

    js的Date对象不怎么经常用,所以忘得差不多,复习一下 1.声明一个Date对象,默认本地当前时间 var date = new Date();//Fri Apr 28 2017 14:26:19 ...

  8. javascript操作Date对象

    Date 对象用于处理日期和时间. 创建 Date 对象的语法: var myDate=new Date() Date 对象会自动把当前日期和时间保存为其初始值. 参数形式有以下5种: new Dat ...

  9. JavaScript检查Date对象是否为Invalid Date

    使用Date()构造日期对象,如果传入非日期格式的字符串,仍然能构造出Date对象. 在chrome控制台 >var date = new Date("hello"); &g ...

随机推荐

  1. 前端/H5/JS:通过URL下载文件并转存到其他服务器(微信),Blob文件转File文件

    现在有一个图片URL,在自己服务器上,一个微信提供的媒体文件上传URL,我在前端通过JS实现转存微信服务器 1. http://file.xxx.com/asd.jpg 自己的 2.https://a ...

  2. 9-3 deepsort在win10配置

    win10+python3.5+tensorflow https://blog.csdn.net/Draw_1999/article/details/79735677 deep-sort https: ...

  3. LeetCode 885. Spiral Matrix III

    原题链接在这里:https://leetcode.com/problems/spiral-matrix-iii/ 题目: On a 2 dimensional grid with R rows and ...

  4. 在VMMap中跟踪不可用的虚拟内存

    VMMap是一个很好的系统内部工具,它可以可视化特定进程的虚拟内存,并帮助理解内存的用途.它有线程堆栈.映像.Win32堆和GC堆的特定报告.有时,VMMap会报告不可用的虚拟内存,这与可用内存不同. ...

  5. day 16

    Weep no more, no sigh, nor groan. Sorrow calls no time that's gone. 别哭泣,别叹息,别呻吟:悲伤唤不回流逝的时光.

  6. nginx1.16+php7.39配置笔记

    vim /etc/nginx/conf.d/default.conf 修改php相关配置如下: location ~ \.php$ {        root           /usr/share ...

  7. ping-pong buffer

    1 什么是pingpong? pingpong是一种数据缓存的手段,通过pingpong操作可以提高数据传输的效率. 2 什么时候需要pingpong? 在两个模块间交换数据时,上一级处理的结果不能马 ...

  8. 如何保证redis数据都是热点数据

    mySQL里有2000w数据,redis中只存20w的数据,如何保证redis中的数据都是热点数据? 1.限定 Redis 占用的内存,Redis 会根据自身数据淘汰策略,加载热数据到内存.所以,计算 ...

  9. NIO (一) NIO是什么

    参考文档:java为什么需要NIO:https://liuchi.coding.me/2017/08/01/浅谈Java为什么需要NIO/美团技术团队 NIO浅析:https://tech.meitu ...

  10. ORM之Dapper

    ORM之Dapper 一.下载安装: nuget 搜索dapper安装 二.使用: 三.优缺点: 优点: 1.开源.轻量.单文件(代码就一个SqlMapper.cs文件,编译后就40K的一个很小的Dl ...