zoukankan      html  css  js  c++  java
  • 时间戳

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

    今天后台程序员返回给我这个时间戳: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;如果返回的本身是以毫秒为单位的话(一般应该是十三位数),那就不用多此一举了。

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

  • 相关阅读:
    单元测试
    软件测试计划
    软件杯A9的设计与实现
    阅读笔记7
    阅读笔记6
    阅读笔记5
    阅读笔记4
    阅读笔记3
    阅读笔记2
    阅读笔记1
  • 原文地址:https://www.cnblogs.com/heisetianshi/p/13786023.html
Copyright © 2011-2022 走看看