JS将时间秒转换成天小时分钟秒的字符串
2019-07-10 09:28
3783 查看
项目中需求是这样,接口返回的数据中时间单位为秒,但前端显示的时候需要更人性化的带有单位(天,小时,分钟,秒)的字符串;
转换函数如下:
/** * 格式化秒 * @param int value 总秒数 * @return string result 格式化后的字符串 */ function formatSeconds(value) { var theTime = parseInt(value);// 需要转换的时间秒 var theTime1 = 0;// 分 var theTime2 = 0;// 小时 var theTime3 = 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); } } } var result = ''; 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; } return result; }
ps:下面看下js时间戳与时间日期间相互转换
今天在工作中要将获取到的时间转换为时间戳,一时间竟不知道怎么用,于是不得不去查询资料,这里特地做个笔记。
1、将日期转换为时间戳。
要将日期转换为时间戳,首先得先获取到日期,这里可以直接指定日期,或者是使用当前日期。要获取当前日期,我们可以使用new Date()来获取。直接上代码。
// (1)、将当前日期转换为时间戳。 var now = new Date(); console.log(now.getTime()) // 将当前日期转换为时间戳,getTime()方法可返回距1970年1月1日之间的毫秒数。也可以使用 +now ,该效果等同于now.getTime() // (2)、将指定日期转换为时间戳。 var t = "2017-12-08 20:5:30"; // 月、日、时、分、秒如果不满两位数可不带0. var T = new Date(t); // 将指定日期转换为标准日期格式。Fri Dec 08 2017 20:05:30 GMT+0800 (中国标准时间) console.log(T.getTime()) // 将转换后的标准日期转换为时间戳。
2、将时间戳转换为日期。
var t = 787986456465; // 当参数为数字的时候,那么这个参数就是时间戳,被视为毫秒,创建一个距离1970年1月一日指定毫秒的时间日期对象。 console.log(new Date(t)) // Wed Dec 21 1994 13:07:36 GMT+0800 (中国标准时间) var t2 = "2017-5-8 12:50:30"; console.log(new Date(t2)) // Mon May 08 2017 12:50:30 GMT+0800 (中国标准时间) var t3 = "2017-10-1"; console.log(new Date(t3)) // Sun Oct 01 2017 00:00:00 GMT+0800 (中国标准时间) 不设定时分秒,则默认转换为00:00:00
将时间戳转换为指定格式日期的方法封装:
// 格式化日期,如月、日、时、分、秒保证为2位数 function formatNumber (n) { n = n.toString() return n[1] ? n : '0' + n; } // 参数number为毫秒时间戳,format为需要转换成的日期格式 function formatTime (number, format) { let time = new Date(number) let newArr = [] let formatArr = ['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 (let i in newArr) { format = format.replace(formatArr[i], newArr[i]) } return format; }
如需要调用上述方法,使用formatTime(1545903266795, 'Y年M月D日 h:m:s')
或者formatTime(1545903266795, 'Y-M-D h:m:s')即可
总结
以上所述是小编给大家介绍的JS将时间秒转换成天小时分钟秒的字符串,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
您可能感兴趣的文章:
相关文章推荐
- js把字符串格式的时间转换成几秒前、几分钟前、几小时前、几天前等格式
- JS把字符串格式的时间转换成几秒前、几分钟前、几小时前、几天前等格式
- js和Java中将时间转换为多少天、小时、分钟问题
- js获取当前时间;时间戳转换;前n小时的时间;前n分钟的时候
- js 时间戳转换成几分钟前,几小时前,几天前
- Js求时间差、并转换为字符串
- js 字符串时间与时间戳相互转换
- JS中字符串转换为日期对象的方法JS中如何计算时间,如何比较时间
- JS 时间戳 时间字符串 时间类型相互转换
- ios秒转换成小时分钟等时间
- 安卓中根据时间转换成小时/分钟/秒的小工具
- Js将分钟转换成天、时、分
- js 时间戳转换成几分钟前,几小时前,几天前
- js 时间戳和日期字符串相互转换
- MS_SQL中时间转换成年月日小时分钟秒
- js字符串转日期,js字符串解析成日期,js日期解析, Date.parse小时是8点,Date.parse时间多了8小时
- js时间戳转换字符串,过滤html字符串标签
- js中date时间转换yyyy-mm-dd hh:MM:ss等格式字符串
- 数据库中取出时间数据,JS转换后小时的值多了8个小时
- Vue.js 时间转换代码及时间戳转时间字符串