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();
}
};
转自不忘初心:http://blog.csdn.net/tomcat_2014/article/details/50514979
补充:
写一个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