因为前端和后端交互的时候基本都会涉及到对数据库时间戳的转换,之前是碰到一次自己写一次方法,一直没有总结一下么,现在来总结一下方便以后不时之需:
function time(ns) {
var d = new Date(ns*1000);
var month = (d.getMonth()+ 1).toString().length == 1 ? '0'+(d.getMonth()+1) : d.getMonth() + 1;
var date = d.getDate().toString().length == 1 ? '0'+d.getDate() : d.getDate();
var hours = d.getHours().toString().length == 1 ? '0'+d.getHours() : d.getHours();
var minutes = d.getMinutes().toString().length == 1 ? '0'+d.getMinutes() : d.getMinutes();
var seconds = d.getSeconds().toString().length == 1 ? '0'+d.getSeconds() : d.getSeconds();
var dformat = [ d.getFullYear(), month, date].join('-')
+ ' ' + [ hours, minutes, seconds ].join(':');
return dformat;
}
以上是对php10位时间戳的处理,所以在方法内传参的ns乘以1000先转化为13位的时间戳,如果使用的java语言,应该是13位的时间戳,就不用乘以1000了。
可以看到,以上用了很多三段式去判断处理,主要是单位数加0用的,格式比较工整。
有更好的发法,也希望大家指点一二。