注意目录和修改相同的字符编码

时间戳

今天遇到了一个特别简单的问题,但是竟然搞了半天都没意识到,太粗心了,下边和大家分享一下我的遗漏点,看看你是否也会这样哦。。。

今天后台程序员返回给我这个时间戳:1601020242,需要把它以日期时间格式展示出来,我很快找到了这么个方法:

 1 <script>
 2         function formatDate(now) { 
 3         var year=now.getFullYear();  //取得4位数的年份
 4         var month=now.getMonth()+1;  //取得日期中的月份,其中0表示1月,11表示12月
       // now.getMonth()+1 < 10 ? '0'+(now.getMonth()+1) : now.getMonth()+1
5 var date=now.getDate(); //返回日期月份中的天数(1到31) 6 var hour=now.getHours(); //返回日期中的小时数(0到23) 7 var minute=now.getMinutes(); //返回日期中的分钟数(0到59) 8 var second=now.getSeconds(); //返回日期中的秒数(0到59) 9 console.log(year); 10 return year+"-"+month+"-"+date+" "+hour+":"+minute+":"+second; 11 } 12 var g=1601020242; //定义一个时间戳变量 13 var d=new Date(g); //创建一个指定的日期对象 14 console.log(d); 15 console.log(formatDate(d)); 16 </script>

这个方法确实不错呦。。。真的不骗你哟,确实转化成了日期格式,不信,看打印的数据:

 但是,有个细节不注意就会导致结果出错,上边的格式是对的,但是呢,数据却是错的呦,1601020242 这个转化出来应该是2020年才是对的。

那哪里出错了呢,于是我就找呀找呀,百度了好几个博客,才发现和我一样的战友,来,我给你截图看看,究竟问题出现在哪。。。

 一定得注意,这里需要乘以1000。

 

当然啦,我说的是后台以秒为单位给你返回的时候(一般应该是十位数),这要乘以1000;如果返回的本身是以毫秒为单位的话(一般应该是十三位数),那就不用多此一举了。

好了,那改过之后,自然结果不会出错的啦,嘻嘻。。。

posted @ 2020-10-09 15:30  黑使  阅读(184)  评论(0编辑  收藏  举报