【JS基础】JavaScript中Date对象的常用方法
Date 类型使用自 UTC(Coordinated Universal Time,国际协调时间)1970 年 1 月 1 日午夜(零时)开始经过的毫秒数来保存日期。
1. 创立Date对象,使用 new 操作符和 Date 构造函数就可:
(1)Date 对象自动使用当前的日期和时间作为其初始值
var date = new Date();(2)将给定的毫秒数转换为使用的时间,new Date(dateVal)
dateVal必选项。- 假如是数字值,
dateVal表示指定日期与1970年1月1日午夜间全球标准时间的毫秒数。- 假如是字符串,则
dateVal按照parse方法中的规则进行解析。
var date = new Date("2018/04/06 03:23:55");var date = new Date(1545548361287);(3)指定具体的日期,new Date((year,month,date[,hours[,minutes[,seconds[,ms]]]]))
year必选项,完整的年份,比方,1976(而不是76)month必选项,表示的月份,是从0到11之间的整数(1月至12月)date必选项,表示日期,是从1到31之间的整数hours可选项,假如提供了minutes则必需给出。表示小时,是从0到23的整数minutes可选项,假如提供了seconds则必需给出。表示分钟,是从0到59的整数seconds可选项,假如提供了milliseconds则必需给出。表示秒钟,是从0到59的整数ms可选项,表示毫秒,是从0到999的整数
var date = new Date(2018, 11, 23, 15, 3, 23);2. 日期的运算
类型自动转换时,Date实例假如转为数值,则等于对应的毫秒数;假如转为字符串,则等于对应的日期字符串。
- 两个日期实例对象进行减法运算时,返回的是它们间隔的毫秒数;
- 进行加法运算时,返回的是两个字符串连接而成的新字符串。
var d1 = new Date(2018, 0, 1);var d2 = new Date(2018, 11, 1);console.log(d2 - d1); //28857600000console.log(d2 + d1); // "Sat Dec 01 2018 00:00:00 GMT+0800 (中国标准时间)Mon Jan 01 2018 00:00:00 GMT+0800 (中国标准时间)"3. 静态方法:Date.now()
Date.now()方法返回当前时间距离时间零点(1970年1月1日 00:00:00 UTC)的毫秒数,相当于 Unix 时间戳乘以1000。
Date.now(); // 15455499886304. 继承的方法
(1)valueOf()方法返回实例对象距离时间零点(1970年1月1日00:00:00 UTC)对应的毫秒数,该方法等同于getTime方法。
var d = new Date();d.valueOf() // 1545550458280d.getTime() // 1545550458280(2)toString()方法返回一个完整的日期字符串。由于toString是默认的调用方法,所以假如直接读取Date实例,就相当于调用这个方法。
var d = new Date(2018, 11, 23);console.log(d.toString()); // Sun Dec 23 2018 00:00:00 GMT+0800 (中国标准时间)console.log(d); // Sun Dec 23 2018 00:00:00 GMT+0800 (中国标准时间)(3)toLocaleString()返回一个表示该日期对象的字符串,该字符串与系统设置的地区关联。
var d = new Date(2018, 11, 23);console.log(d.toLocaleString()); // 2018/12/23 上午12:00:005. get 类方法
Date对象提供了一系列get*方法,用来获取实例对象某个方面的值。
| 实例的方法名 | 作用 |
|---|---|
| getTime() | 返回实例距离1970年1月1日00:00:00的毫秒数,等同于valueOf方法 |
| getYear() | 返回距离1900的年数 |
| getFullYear() | 返回四位的年份 |
| getMonth() | 返回月份(0 ~ 11,0表示1月,11表示12月) |
| getDay() | 返回星期几,星期日为0,星期一为1,以此类推 |
| getDate() | 返回实例对象对应每个月的几号(从1开始) |
| getHours() | 返回小时数 (0 ~ 23) |
| getMinutes() | 返回分钟数 (0 ~ 59) |
| getSeconds() | 返回秒数 (0 ~ 59) |
| getMilliseconds() | 返回毫秒数 (0 ~ 999) |
6. set 类方法
Date对象提供了一系列set*方法,用来设置实例对象的各个方面。
| 实例的方法名 | 作用 |
|---|---|
| setTime(milliseconds) | 设置毫秒时间戳 |
| setYear(year) | 设置距离1900年的年数 |
| setFullYear(year [, month, date]) | 设置四位年份 |
| setMonth(month [, date]) | 设置月份(0-11) |
| setDate(date) | 设置实例对象对应的每个月的几号(1-31),返回改变后毫秒时间戳 |
| setHours(hour [, min, sec, ms]) | 设置小时(0-23) |
| setMinutes(min [, sec, ms]) | 设置分钟(0-59) |
| setSeconds(sec [, ms]) | 设置秒(0-59) |
| setMilliseconds() | 设置毫秒(0-999) |
这些方法基本是跟get*方法逐个对应的,但是没有setDay方法,由于星期几是计算出来的,而不是设置的。
7. 将日期转换为指定的格式
// 可以为Date原型增加如下的方法Date.prototype.format = function(fmt) { var o = { "M+" : this.getMonth()+1, //月份 "d+" : this.getDate(), //日 "h+" : this.getHours(), //小时 "m+" : this.getMinutes(), //分 "s+" : this.getSeconds(), //秒 "q+" : Math.floor((this.getMonth()+3)/3), //季度 "S" : this.getMilliseconds() //毫秒 }; if(/(y+)/.test(fmt)) { fmt=fmt.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length)); } for(var k in o) { if(new RegExp("("+ k +")").test(fmt)){ fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length))); } } return fmt; } // 调用var time = new Date().format("yyyy-MM-dd hh:mm:ss");console.log(time); 说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » 【JS基础】JavaScript中Date对象的常用方法
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » 【JS基础】JavaScript中Date对象的常用方法