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 ...
随机推荐
- Python基础A(执行方式---注释)
执行Python程序的两种方式 交互式(jupyter) 优点:运行一句,执行一句 缺点:关闭即消失 命令行式(pycharm) 优点:可以一直保存下去 缺点:全部写完才能调试bug 虽然txt问价可 ...
- NOIP 2006 明明的随机数
洛谷 P1059 明明的随机数 洛谷传送门 JDOJ 1423: [NOIP2006]明明的随机数 T1 JDOJ传送门 Description 明明想在学校中请一些同学一起做一项问卷调查,为了实验的 ...
- POJ2536-Gopher II-(匈牙利算法)
题意:n只老鼠,m个洞,s秒逃命,逃命速度为v,一个洞只能保住一只老鼠,最少多少只老鼠会被老鹰抓到. 题解:找出每只老鼠有哪些洞可以保命,建立二分图,算出最大匹配,不是求保住命的老鼠,而是求被抓住的老 ...
- CLR Exception 0xE0434F4D和0xE0434352的区别
<根据<CLR Exception---E0434352>和<CLR Exception---E0434F4D>这两篇随笔,我们会发现,这两个异常太相似了,除了代码值不一 ...
- hasura graphql-engine + plv8 集成
hasura graphql-engine 是一款很不错的基于pg 的graphql 引擎,plv8 是pg 的一个扩展,我们可以使用js 编写 函数 ,触发器,而且对于es6 的语法也有比较完备的支 ...
- PATB1009说反话
这里有一点需要注意的就是,PAT里面是禁用gets函数的,所以要换成一个替代函数 那就是下面这个: //这个是定义一个字符串数组 char str[90]; //需要被替代的函数 gets(str) ...
- Vue自动化注册全局组件脚本
今天有一个idea,vue一些组件,可能会全局都用到,我觉得在main.js写 Vue.component(name, instance) 然后很命令式,写着也不好看,想着能够有一个函数可以指定加载比 ...
- 【Kubernetes学习之二】Kubernetes集群安装
环境 centos 7 Kubernetes有三种安装方式:yum.二进制.kubeadm,这里演示kubeadm. 一.准备工作1.软件版本 软件 版本 kubernetes v1.15.3 Cen ...
- requests获取响应时间(elapsed)与超时(timeout)、小数四舍五入
前言 requests发请求时,接口的响应时间,也是我们需要关注的一个点,如果响应时间太长,也是不合理的.如果服务端没及时响应,也不能一直等着,可以设置一个timeout超时的时间 elapsed官方 ...
- 『Tree nesting 树形状压dp 最小表示法』
Tree nesting (CF762F) Description 有两个树 S.T,问 S 中有多少个互不相同的连通子图与 T 同构.由于答案 可能会很大,请输出答案模 1000000007 后的值 ...