JavaScript 之 Date对象
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对象的更多相关文章
- javascript中Date对象的应用——简易日历的实现
× 目录 [1]效果 [2]HTML [3]CSS[4]JS 前面的话 简易日历作为javascript中Date对象的常见应用,用途较广泛.本文将详细说明简易日历的实现思路 效果演示 HTML说明 ...
- json里的日期字符串 怎么 转换成 javascript 的 Date 对象?
“/Date(1232035200000)/” 怎么转换成 javascript 的 Date 对象 做法:new Date(+/\d+/.exec(value)[1]); value就是json字 ...
- javascript中Date对象的应用
前面的话 简易日历作为javascript中Date对象的常见应用,用途较广泛.本文将详细说明简易日历的实现思路 效果演示 HTML说明 使用type=number的两个input分别作为年和月的输入 ...
- JavaScript的Date对象
整理了一些JavaScript时间的对象,如下所示: toLocaleString()得到当前的年月日和时间的字符串 toLocaleTimeString() 得到当前的时间字符串 toLocaleD ...
- JavaScript中date 对象常用方法
Date 对象 Date 对象用于处理日期和时间. //创建 Date 对象的语法: var datetime = new Date();//Date 对象会自动把当前日期和时间保存为其初始值. co ...
- JavaScript:Date 对象
ylbtech-JavaScript:Date 对象 1.返回顶部 Date 对象 Date 对象用于处理日期和时间. 创建 Date 对象的语法: var myDate=new Date() 注释: ...
- javascript中Date对象复习
js的Date对象不怎么经常用,所以忘得差不多,复习一下 1.声明一个Date对象,默认本地当前时间 var date = new Date();//Fri Apr 28 2017 14:26:19 ...
- javascript操作Date对象
Date 对象用于处理日期和时间. 创建 Date 对象的语法: var myDate=new Date() Date 对象会自动把当前日期和时间保存为其初始值. 参数形式有以下5种: new Dat ...
- JavaScript检查Date对象是否为Invalid Date
使用Date()构造日期对象,如果传入非日期格式的字符串,仍然能构造出Date对象. 在chrome控制台 >var date = new Date("hello"); &g ...
随机推荐
- P1908 逆序对-(cdq分治)
https://www.luogu.org/problem/P1908 沿用归并排序的思想求逆序对. 坑1:结果爆int型,需要用longlong 坑2:相对于归并排序,在比较的时候多了一个等号 举例 ...
- LeetCode 1150. Check If a Number Is Majority Element in a Sorted Array
原题链接在这里:https://leetcode.com/problems/check-if-a-number-is-majority-element-in-a-sorted-array/ 题目: G ...
- ESP8266 LUA脚本语言开发: 准备工作-硬件说明
原理图 实物图 硬件说明 开发板板载说明: 1.主控芯片: ESP8266_12F 1.温湿度传感器DHT11 与连接ESP8266 GPIO4引脚 2.一路继电器 ...
- 推荐:Markdown编辑软件 --- 小书匠
推荐:Markdown编辑软件 --- 小书匠 小书匠 使用手册 Markdown编辑工具推荐小书匠工具,功能丰富,简单使用,可以一步导文件至博客园主页. 概要 小书匠编辑器是一款专为markdown ...
- day 14
Sow an act, and you reap a habit. Sow a habit, and you reap a character. Sow a character, and you re ...
- IOCP另一种实现
参考 https://docs.microsoft.com/zh-cn/windows/win32/api/winbase/nf-winbase-bindiocompletioncallback ht ...
- 【ASP.NET Core分布式项目实战】(四)使用mysql/mysql-server安装mysql
Docker安装Mysql 拉取镜像 docker pull mysql/mysql-server 运行mysql docker run -d -p : --name mysql01 mysql/my ...
- 【Docker】涨姿势,深入了解Dockerfile 中的 COPY 与 ADD 命令
参考资料:https://www.cnblogs.com/sparkdev/p/9573248.html Dockerfile 中提供了两个非常相似的命令 COPY 和 ADD,本文尝试解释这两个命令 ...
- MySQL 5.7更改Root密码和Host
MySQL5.7对用户密码管理对更为严格. 为测试方便,需要将root对权限扩大为所有host.具体操作如下: grep 'temporary password' /var/log/mysqld.lo ...
- SVN版本管理系统使用教程
1.下载SVN安装包 https://tortoisesvn.net/downloads.html 2.下载SVN汉化包 网页下翻到下载处 3.下载服务端 https://www.visualsvn. ...