new Date()时间常用API介绍
dearweb 发布:2021-11-21 15:58:41阅读:我们在平时的工作中对日期需要进行处理,得到我们想要的效果,这时候我们会用到new Date()这个方法,本文主要就是介绍new Date() 中常用的API,希望可以帮助到各位小伙伴。
var myDate = new Date(); myDate.getYear(); //获取当前年份(2位) myDate.getFullYear(); //获取完整的年份(4位,1970-????) myDate.getMonth(); //获取当前月份(0-11,0代表1月) 所以获取当前月份是 myDate.getMonth()+1; myDate.getDate(); //获取当前日(1-31) myDate.getDay(); //获取当前星期X(0-6,0代表星期天) myDate.getTime(); //获取当前时间(从1970.1.1开始的毫秒数) myDate.getHours(); //获取当前小时数(0-23) myDate.getMinutes(); //获取当前分钟数(0-59) myDate.getSeconds(); //获取当前秒数(0-59) myDate.getMilliseconds(); //获取当前毫秒数(0-999) myDate.toLocaleDateString(); //获取当前日期 var mytime = myDate.toLocaleTimeString(); //获取当前时间 myDate.toLocaleString( ); //获取日期与时间
JS获取当前时间戳的方法
Date.parse(new Date()); // 不推荐; 毫秒改成了000显示 new Date().valueOf(); new Date().getTime(); new Date().getTime();
js中单独调用 new Date(); 显示这种格式Fri Aug 28 2020 11:03:24 GMT+0800 (中国标准时间)
但是用 new Date() 参与计算会自动转换为从 1970.1.1 开始的毫秒数
将字符串形式的日期转换成日期对象
var strTime="2011-04-16"; // 字符串日期格式 var date= new Date(Date.parse(strTime.replace(/-/g, "/"))); // 转换成 Data(); new Date(); // 参数可以为整数; 也可以为字符串; 但格式必须正确 new Date(2009,1,1); new Date("2009/1/1"); new Date("2009-1-1"); new Date( year, month, date, hrs, min, sec) // 按给定的参数创建一日期对象
1.日期格式转为日期标准字符串:2015-03-19
var formatDate = function (date) { var y = date.getFullYear(); var m = date.getMonth() + 1; m = m < 10 ? '0' + m : m; var d = date.getDate(); d = d < 10 ? ('0' + d) : d; return y + '-' + m + '-' + d; };
2.js方法返回值:2015-03-19 12:00:00
var formatDateTime = function (date) { var y = date.getFullYear(); var m = date.getMonth() + 1; m = m < 10 ? ('0' + m) : m; var d = date.getDate(); d = d < 10 ? ('0' + d) : d; var h = date.getHours(); h=h < 10 ? ('0' + h) : h; var minute = date.getMinutes(); minute = minute < 10 ? ('0' + minute) : minute; var second=date.getSeconds(); second=second < 10 ? ('0' + second) : second; return y + '-' + m + '-' + d+' '+h+':'+minute+':'+second; };
3.时间戳转为日期格式
//时间戳转日期格式 var formatDateTime3 = function(time, format){ var t = new Date(time); var tf = function(i){return (i < 10 ? '0' : '') + i}; return format.replace(/yyyy|MM|dd|HH|mm|ss/g, function(a){ switch(a){ case 'yyyy': return tf(t.getFullYear()); break; case 'MM': return tf(t.getMonth() + 1); break; case 'mm': return tf(t.getMinutes()); break; case 'dd': return tf(t.getDate()); break; case 'HH': return tf(t.getHours()); break; case 'ss': return tf(t.getSeconds()); break; } }) };
4.时间格式字符串转为时间戳(毫秒)
var time1=‘2016-01-01 17:22:37’; var date=new Date(time1.replace(/-/g, '/')); //开始时间 var time2=date.getTime();
如何将2015-03-12 12:00 转换成标准时间()?
// 调用:parserDate("2015-03-19 12::00:00") var parserDate = function (date) { var t = Date.parse(date); if (!isNaN(t)) { return new Date(Date.parse(date.replace(/-/g, "/"))); } else { return new Date(); } };
最后在增加一点VUE中的使用方法
写一个vue plugin 用于格式化日期时间:
export function prefixZero (num, n) { return (Array(n).join(0) + num).slice(-n); }
封装方法
/** * @param {String | Number} date 当前时间 * @param {String} format 格式化格式 * * usage: * dateFormatter('2011/1/12 12:12:22', 'yyyy-MM-dd HH:mm:ss') * dateFormatter(1294805542000, 'yyyy-MM-dd HH:mm:ss') */ export function dateFormatter (date, format) { const t = new Date(date) console.log(t) if (t.toString() === 'Invalid Date') { return 'invalid date' } return format.replace(/yyyy|MM|M|WW|W|ww|w|dd|d|HH|H|hh|h|mm|m|ss|s|A|a/g, function(a){ switch(a){ case 'yyyy': // 年 2011 return prefixZero(t.getFullYear(), 4); case 'MM': // 月 01 return prefixZero(t.getMonth() + 1, 2); case 'M': // 月 1 return t.getMonth() + 1; case 'WW': // 周 01 return prefixZero(t.getDay(), 2); case 'W': // 周 1 return t.getDay(); case 'ww': // 周 星期一 return "星期" + "日一二三四五六".charAt(t.getDay()); case 'w': // 周 周一 return "周" + "日一二三四五六".charAt(t.getDay()); case 'dd': // 日 02 return prefixZero(t.getDate(), 2); case 'd': // 日 2 return prefixZero(t.getDate(), 2); case 'HH': // 小时 24小时制 03 return prefixZero(t.getHours(), 2); case 'H': // 小时 24小时制 3 return prefixZero(t.getHours(), 2); case 'hh': // 小时 12小时制 03 return prefixZero(t.getHours() % 12, 2); case 'h': // 小时 12小时制 3 return prefixZero(t.getHours() % 12, 2); case 'mm': // 分钟 04 return prefixZero(t.getMinutes(), 2); case 'm': // 分钟 4 return t.getMinutes(); case 'ss': // 秒 05 return prefixZero(t.getSeconds(), 2); case 's': // 秒 5 return t.getSeconds(); case 'A': return t.getHours() < 12 ? 'AM' : 'PM'; case 'a': return t.getHours() < 12 ? 'am' : 'pm'; } }) } const dateFormat = { install: function (vue) { vue.prototype.$dateFormatter = dateFormatter vue.filter('date', dateFormatter) } } export default dateFormat
小礼物走一波,支持作者
赏还没有人赞赏,支持一波吧