本文将为您描述javascript格式化日期时间,js时间戳自定义格式转换,支持年月日时分秒等多种形式组合的日期和时间的方法。
推荐一个JavaScript常用函数库 jutils 的 formatDate 函数
示例
年、月、日、时、分、秒
var date = jutils.formatDate(new Date(1533686888*1000),"YYYY-MM-DD HH:ii:ss");
console.log(date);
// 2019-07-09 19:44:01
年、月、日、周
var date = jutils.formatDate(new Date(1562672641*1000),"YYYY-MM-DD 周W");
console.log(date);
//2019-07-09 周二
月、日、周
var date = jutils.formatDate(new Date(1562672641*1000),"MM-DD 周W");
console.log(date);
//07-09 周二
时、分、秒
var date = jutils.formatDate(new Date(1562672641*1000),"HH:ii:ss");
console.log(date);
//19:44:01
源码
以下是摘自jutils
时间类的源码://时间戳转年月 export const formatDate = (date,formatStr) => { let arrWeek = ['日', '一', '二', '三', '四', '五', '六'], str = formatStr.replace(/yyyy|YYYY/, date.getFullYear()).replace(/yy|YY/, $addZero(date.getFullYear() % 100, 2)).replace(/mm|MM/, $addZero(date.getMonth() + 1, 2)).replace(/m|M/g, date.getMonth() + 1).replace( /dd|DD/, $addZero(date.getDate(), 2)).replace(/d|D/g, date.getDate()).replace(/hh|HH/, $addZero(date .getHours(), 2)).replace(/h|H/g, date.getHours()).replace(/ii|II/, $addZero(date.getMinutes(), 2)) .replace(/i|I/g, date.getMinutes()).replace(/ss|SS/, $addZero(date.getSeconds(), 2)).replace(/s|S/g, date .getSeconds()).replace(/w/g, date.getDay()).replace(/W/g, arrWeek[date.getDay()]); return str } function $addZero(v, size) { for (var i = 0, len = size - (v + "").length; i < len; i++) { v = "0" + v } return v + "" }