项目中需要在页面上把后台传过来的long型数字转换为Date日期,查了下资料,发现方法挺多的,但有的方法以及过期了,有的倒是挺简单的,但是感觉下面这一种最好理解,也最容易搭配,自己想要什么样式的格式,都可以自己手动配置,贴上代码,以作备用。
//将long类型时间戳转换为date时间表示 function timestampToTime(timestamp) { var date = new Date(timestamp);//时间戳为10位需*1000,时间戳为13位的话不需乘1000 Y = date.getFullYear() + '-';//此时为四位数字表示 getYear()的话为两位数字表示 M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-';//当前月份(0-11,0代表1月) D = date.getDate() + ' ';//当前日(1-31) h = date.getHours() + ':'; m = (date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()) +':'; s = date.getSeconds() +':'; ms = date.getMilliseconds();//毫秒值 return M + D + h + m;//此处可以自定义需要的显示类型 }
关于时间戳的位数,13位是精确到毫秒级的,10位的是精确到秒级别的,因为在java中默认的是13位的,所以此处如果是10位的时间戳的话需要先乘1000。
因为暂时只涉及到前端的转换,所以就写这么多了,还有更多相互转换的操作,可以参考下面这篇文章https://blog.csdn.net/z69183787/article/details/8197060