JavaScript中将(时间戳)毫秒转化为年月日时分秒格式

古城微笑少年丶 2023-10-03 11:36 124阅读 0赞

1、毫秒单位说明?

获取的时间为毫秒类型的时候,假如是10位数需要*1000,假如是13位不需要*1000.

2、方式一:通过Date自定义函数转化自己所需时间类型

new Date();获取当前系统时间,数据格式:Mon Aug 23 2021 11:55:08 GMT+0800 (中国标准时间)

new Date(时间毫秒单位);//可以将毫秒单位转化成指定的数据类型,下面有具体说明

  1. //数据样式:Mon Aug 23 2021 11:55:08 GMT+0800 (中国标准时间)
    var date1=new Date();//获取当前系统时间
    //数据样式:2021/8/23 上午11:55:58
    var date2=date1.toLocaleString();
    //数据样式:2021/8/23
    var date3=date1.toLocaleDateString();
    //数据样式:上午11:56:47
    var date4=date1.toLocaleTimeString();
    //数据样式:2021/8/23 上午11:56:57
    var date5=date1.toLocaleString();
    //数据样式:Mon, 23 Aug 2021 03:57:13 GMT
    var date6=date1.toUTCString();
    //创建一个div,id=div1,并向div中赋值时间
    document.getElementById(“div1”).innerHTML=date6;

3、方式二:获取时间—自定义数据格式

说明1:var millisecond= new Date().getTime();//获取毫秒单位。

getTime();将时间转化成毫秒单位。

说明2:在很多的插件中,时间默认返回的时间类型就是毫秒单位,此转化方式虽然比较麻烦,

但是在实际项目中的实用性较强。同时假如返回的毫秒单位是10位数,则必须让该毫秒数乘以1000。

说明3:也可以将制定时间转化成毫秒数

如:var millisecond= (new Date(“2020/08/022 14:13:11”)).getTime(); //得到毫秒数

  1. var timdedetail="具体的毫秒字符串";//假如是10位毫秒需要乘1000
  2. //获取年份
  3. var year=new Date(timdedetail).getFullYear();
  4. //获取月份,获取的月份比实际小1,所以在使用的时候需要+1
  5. var month=new Date(timdedetail).getMonth()+1;
  6. //获取日
  7. var date=new Date(timdedetail).getDate();
  8. //获取时
  9. var hours=new Date(timdedetail).getHours();
  10. //获取分
  11. var minutes=new Date(timdedetail).getMinutes();
  12. //获取秒
  13. var seconds=new Date(timdedetail).getSeconds();
  14. //组合格式为年-月-日 时:分:秒(2021-7-5 21:21:21)
  15. var time=year+"-"+month+"-"+date+" "+hours+":"+minutes+":"+seconds;
  16. console.log(time);
  17. //输出样式:2020-10-25 14:25:36

4、使用改进1—当时间不足10的时候,补零操作?

显示时间格式为:2021-07-05 21:21:21

阶梯思路:通过三目运算符判断即可

具体操作如下:

  1. //将毫秒转化成年月日时分秒
  2. var timdedetail="具体的毫秒字符串";//假如是10位毫秒需要乘1000
  3. //获取年份
  4. var year=new Date(timdedetail).getFullYear();
  5. //获取月份
  6. var month=new Date(timdedetail).getMonth()+1;
  7. if(month<10){
  8. month="0"+month;
  9. }
  10. //获取日
  11. var date=new Date(timdedetail).getDate();
  12. if(date<10){
  13. date="0"+date;
  14. }
  15. //获取小时
  16. var h1=new Date(timdedetail).getHours()<10?'0'+new Date(timdedetail).getHours():new Date(timdedetail).getHours();
  17. //获取分钟
  18. var m1=new Date(timdedetail).getMinutes()<10?'0'+new Date(timdedetail).getMinutes():new Date(timdedetail).getMinutes()<10;
  19. //获取秒
  20. var s1=new Date(timdedetail).getSeconds()<10?'0'+new Date(timdedetail).getSeconds():new Date(timdedetail).getSeconds();
  21. //组合格式为年-月-日 时:分:秒(2021-07-05 21:21:21)
  22. var starttime=year+"-"+month+"-"+date+" "+h1+":"+m1+":"+s1;
  23. //输出样式:2020-10-25 14:25:36

5、使用改进2—创建时间格式转化函数—快速获取时间样式

第一步:向Date中创建时间格式转化函数

说明:一般情况下,不需要研究该函数的中的具体实现方式,直接使用即可。

  1. <script>
  2. Date.prototype.format = function(fmt){
  3. var o = {
  4. "M+" : this.getMonth()+1, //月份
  5. "d+" : this.getDate(), //日
  6. "h+" : this.getHours(), //小时
  7. "m+" : this.getMinutes(), //分
  8. "s+" : this.getSeconds(), //秒
  9. "q+" : Math.floor((this.getMonth()+3)/3), //季度
  10. "S" : this.getMilliseconds() //毫秒
  11. };
  12. if(/(y+)/.test(fmt)){
  13. fmt=fmt.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length));
  14. }
  15. for(var k in o){
  16. if(new RegExp("("+ k +")").test(fmt)){
  17. fmt = fmt.replace(
  18. RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length)));
  19. }
  20. }
  21. return fmt;
  22. }
  23. </script>

第二步:使用第一步创建的函数获取所需时间格式

说明:直接使用,将使用函数的代码创建在body中div的下面,否则会出现body中的div没有加载,script就先执行了。

  1. <body>
  2. <div id="div1">
  3. </div>
  4. <script>
  5. var now = new Date();
  6. var timeStyle1 = now.format("yyyy-MM-dd hh:mm:ss");
  7. var timeStyle2 = now.format("yyyy年MM月dd日");
  8. var timeStyle3 = now.format("yyyy-MM-dd hh:mm:ss");
  9. var timeStyle4 = now.format("yyyy年MM月dd日hh小时mm分ss秒");
  10. document.getElementById("div1").innerHTML=timeStyle4;
  11. </script>
  12. </body>

第三步:最终显示结果

" class="reference-link">20210823121546315.png

发表评论

表情:
评论列表 (有 0 条评论,124人围观)

还没有评论,来说两句吧...

相关阅读