前言:最近在作一个日期选择功能,在日期转换的时候常常换到晕,总结一下经常使用的Date对象的相关用法,方便往后直接查看使用~javascript
1. new Date()的使用方法有:java
2. 使用new Date(time) 将时间转换成 Date 对象 api
注意:time格式须要为 1999/12/31 23:59 (不能为1999-12-30 23:43),不然在一些机型下可能会报错。函数
3. date对象一些经常使用的apithis
new Date()转换以后的数据,能够直接使用下面的api new Date(x).getMonth()+1 //获取月份 new Date(x).getDate //获取日期 new Date(x).getHours() //获取小时 new Date(x).getMinutes() //获取分钟 new Date(x).toLocaleDateString()); // 转换为本地日期格式,视环境而定,输出:2017年07月04日 new Date(x).toLocaleString()); // 转换为本地日期和时间格式,视环境而定,输出:2017年07月04日 上午10:03:05
4. javascript 没有原生提供但却常常需求使用的功能spa
//参数 日期 getWeek(day) { const weekArr = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六']; return weekArr[day]; } getWeek(new Date(x).getDay())
new Date(x).setHours(new Date(x).getHours()+1,new Date(x).getMinutes());
function getFull(n) { return (n > 9 ? '' : '0') + n; } var x = getFull(3); //03 var y = getFull(11); //11
Date.prototype.Format = function (fmt) { //author: meizz 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 time1 = new Date().Format("yyyy-MM-dd"); var time2 = new Date().Format("yyyy-MM-dd hh:mm:ss");