JS将时间秒转换成天小时分钟秒的字符串
项目中需求是这样,接口返回的数据中时间单位为秒,但前端显示的时候需要更人性化的带有单位(天,小时,分钟,秒)的字符串;
转换函数如下:
/** *格式化秒 *@paramintvalue总秒数 *@returnstringresult格式化后的字符串 */ functionformatSeconds(value){ vartheTime=parseInt(value);//需要转换的时间秒 vartheTime1=0;//分 vartheTime2=0;//小时 vartheTime3=0;//天 if(theTime>60){ theTime1=parseInt(theTime/60); theTime=parseInt(theTime%60); if(theTime1>60){ theTime2=parseInt(theTime1/60); theTime1=parseInt(theTime1%60); if(theTime2>24){ //大于24小时 theTime3=parseInt(theTime2/24); theTime2=parseInt(theTime2%24); } } } varresult=''; if(theTime>0){ result=""+parseInt(theTime)+"秒"; } if(theTime1>0){ result=""+parseInt(theTime1)+"分"+result; } if(theTime2>0){ result=""+parseInt(theTime2)+"小时"+result; } if(theTime3>0){ result=""+parseInt(theTime3)+"天"+result; } returnresult; }
ps:下面看下js时间戳与时间日期间相互转换
今天在工作中要将获取到的时间转换为时间戳,一时间竟不知道怎么用,于是不得不去查询资料,这里特地做个笔记。
1、将日期转换为时间戳。
要将日期转换为时间戳,首先得先获取到日期,这里可以直接指定日期,或者是使用当前日期。要获取当前日期,我们可以使用newDate()来获取。直接上代码。
//(1)、将当前日期转换为时间戳。 varnow=newDate(); console.log(now.getTime())//将当前日期转换为时间戳,getTime()方法可返回距1970年1月1日之间的毫秒数。也可以使用+now,该效果等同于now.getTime() //(2)、将指定日期转换为时间戳。 vart="2017-12-0820:5:30";//月、日、时、分、秒如果不满两位数可不带0. varT=newDate(t);//将指定日期转换为标准日期格式。FriDec08201720:05:30GMT+0800(中国标准时间) console.log(T.getTime())//将转换后的标准日期转换为时间戳。
2、将时间戳转换为日期。
vart=787986456465;//当参数为数字的时候,那么这个参数就是时间戳,被视为毫秒,创建一个距离1970年1月一日指定毫秒的时间日期对象。 console.log(newDate(t))//WedDec21199413:07:36GMT+0800(中国标准时间) vart2="2017-5-812:50:30"; console.log(newDate(t2))//MonMay08201712:50:30GMT+0800(中国标准时间) vart3="2017-10-1"; console.log(newDate(t3))//SunOct01201700:00:00GMT+0800(中国标准时间)不设定时分秒,则默认转换为00:00:00
将时间戳转换为指定格式日期的方法封装:
//格式化日期,如月、日、时、分、秒保证为2位数 functionformatNumber(n){ n=n.toString() returnn[1]?n:'0'+n; } //参数number为毫秒时间戳,format为需要转换成的日期格式 functionformatTime(number,format){ lettime=newDate(number) letnewArr=[] letformatArr=['Y','M','D','h','m','s'] newArr.push(time.getFullYear()) newArr.push(formatNumber(time.getMonth()+1)) newArr.push(formatNumber(time.getDate())) newArr.push(formatNumber(time.getHours())) newArr.push(formatNumber(time.getMinutes())) newArr.push(formatNumber(time.getSeconds())) for(letiinnewArr){ format=format.replace(formatArr[i],newArr[i]) } returnformat; }
如需要调用上述方法,使用formatTime(1545903266795,'Y年M月D日h:m:s')或者formatTime(1545903266795,'Y-M-Dh:m:s')即可
总结
以上所述是小编给大家介绍的JS将时间秒转换成天小时分钟秒的字符串,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。