码迷,mamicode.com
首页 > 其他好文 > 详细

时间格式转换

时间:2017-09-20 19:37:14      阅读:181      评论:0      收藏:0      [点我收藏+]

标签:格式   运行   裁剪   数据   ons   time   leave   返回   console   

如何将形式为20170707105858这样的时间字符串转换为2017/07/07 10:58:58这样的呢?

function changeTime(timeStr){
var date;
var timeArr=timeStr.split(‘‘);//将传进来的时间字符串拆分成数组 比如20170707105858就会转换为["2","0",..."5","8"],
console.log(timeArr);
var year=timeArr.slice(0,4).join(‘‘);在将上面的数组进行裁剪并且转变
var month=timeArr.slice(4,6).join(‘‘);
var day=timeArr.slice(6,8).join(‘‘);
var hour=timeArr.slice(8,10).join(‘‘);
var min=timeArr.slice(10,12).join(‘‘);
var sec=timeArr.slice(12,14).join(‘‘);
date=year+‘/‘+month+‘/‘+day+‘/‘+hour+‘:‘+min+‘:‘+sec;
return date;
}
比如我们运行:changeTime("20170707105825");// 返回结果为2017/07/07 10:58:25;
如果还想考虑的更细腻的话我们还可以加入判断,那样就不用限制传入的参数的数据类型,不论是number还是字符串,可以将传进的参数直接转为字符串,比如toString()方法;
转换就到此,假如我们想算两个形式为上述输出结果一样形式的时间的差,比如2017/09/14/ 15:25:03与2017/09/13/ 16:29:24只见差了多长时间
方法如下:
function totalTimeFun(start,end){
var totalTime;
var date1=new Date(changeTime(start)); //开始时间
var date2=new Date(changeTime(end)); //结束时间
var date3=date2.getTime()-date1.getTime(); //时间差的毫秒数
//计算出相差天数
var days=Math.floor(date3/(24*3600*1000));
//计算出小时数
var leave1=date3%(24*3600*1000); //计算天数后剩余的毫秒数
var hours=Math.floor(leave1/(3600*1000));
//计算相差分钟数
var leave2=leave1%(3600*1000); //计算小时数后剩余的毫秒数
var minutes=Math.floor(leave2/(60*1000));
//计算相差秒数
var leave3=leave2%(60*1000); //计算分钟数后剩余的毫秒数
var seconds=Math.round(leave3/1000);
return _time=days+"天 "+hours+"小时 "+minutes+" 分钟"+seconds+" 秒";
};

时间格式转换

标签:格式   运行   裁剪   数据   ons   time   leave   返回   console   

原文地址:http://www.cnblogs.com/mark20170707/p/7562754.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!