js的时间戳转换为日期字符串的方法
js本身提供了转换date的方法,这里做下记录:
console.log(newDate.toLocaleDateString()); // 2017年3月30日 console.log(newDate.toLocaleString()); // 2017年3月30日 下午8:33:24
也可自己定义返回的格式,可以自己定义一个转换方法:
function formatDate(date, fmt) { if (/(y+)/.test(fmt)) { fmt = fmt.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length)); console.log(date.getFullYear()); } let o = { 'M+': date.getMonth() + 1, 'd+': date.getDate(), 'h+': date.getHours(), 'm+': date.getMinutes(), 's+': date.getSeconds() }; for (let k in o) { if (new RegExp(`(${k})`).test(fmt)) { let str = o[k] + ''; fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? str : padLeftZero(str)); } } return fmt; }
如果最终的日期格式为:2017-3-20 21:52,还需要下面这个函数处理:
function padLeftZero(str) { return ('00' + str).substr(str.length); }
注意:只有在正则是组合,即正则表达式在()中书写时,才会有RegExp.$1的值,否则为空