JS将时间秒转换成天小时分钟秒的字符串


Posted in Javascript onJuly 10, 2019

项目中需求是这样,接口返回的数据中时间单位为秒,但前端显示的时候需要更人性化的带有单位(天,小时,分钟,秒)的字符串;

转换函数如下:

/**
 * 格式化秒
 * @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将时间秒转换成天小时分钟秒的字符串,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Javascript 相关文章推荐
jquery连缀语法如何实现
Nov 29 Javascript
jQuery.prototype.init选择器构造函数源码思路分析
Feb 05 Javascript
浅谈javascript属性onresize
Apr 20 Javascript
复杂的javascript窗口分帧解析
Feb 19 Javascript
WebView启动支付宝客户端支付失败的问题小结
Jan 11 Javascript
JavaScript对象引用与赋值实例详解
Mar 15 Javascript
ES6学习教程之块级作用域详解
Oct 09 Javascript
深入浅析Vue.js计算属性和侦听器
May 05 Javascript
vue将毫秒数转化为正常日期格式的实例
Sep 16 Javascript
vue实现中部导航栏布局功能
Jul 30 Javascript
微信小程序文章详情功能完整实例
Jun 03 Javascript
Element Badge标记的使用方法
Jul 27 Javascript
js Array.slice的8种不同用法示例
Jul 10 #Javascript
vue-router二级导航切换路由及高亮显示的实现方法
Jul 10 #Javascript
Vue编程式跳转的实例代码详解
Jul 10 #Javascript
微信小程序在ios下Echarts图表不能滑动的问题解决
Jul 10 #Javascript
Vue事件修饰符native、self示例详解
Jul 09 #Javascript
如何自定义微信小程序tabbar上边框的颜色
Jul 09 #Javascript
微信小程序wx.request拦截器使用详解
Jul 09 #Javascript
You might like
php程序效率优化的一些策略小结
2010/07/17 PHP
Apache实现Web Server负载均衡详解(不考虑Session版)
2013/07/05 PHP
JavaScript实现滚动栏效果的方法
2015/04/27 PHP
CI映射(加载)数据到view层的方法
2016/03/28 PHP
深入理解PHP+Mysql分布式事务与解决方案
2020/12/03 PHP
Javascript学习笔记 delete运算符
2011/09/13 Javascript
JavaScript中的property和attribute介绍
2011/12/26 Javascript
通过JS获取用户本地图片路径并显示的代码
2012/02/16 Javascript
jQuery 拖动层(在可视区域范围内)
2012/05/24 Javascript
深入理解javascript动态插入技术
2013/11/12 Javascript
js toFixed()方法的重写实现精度的统一
2014/03/06 Javascript
常用javascript表单验证汇总
2020/07/20 Javascript
JavaScript实现带播放列表的音乐播放器实例分享
2016/03/07 Javascript
js编写一个简单的产品放大效果代码
2016/06/27 Javascript
解决在Bootstrap模糊框中使用WebUploader的问题
2018/03/22 Javascript
three.js搭建室内场景教程
2018/12/30 Javascript
微信小程序如何调用新闻接口实现列表循环
2019/07/02 Javascript
解决layui-table单元格设置为百分比在ie8下不能自适应的问题
2019/09/28 Javascript
[52:41]OG vs IG 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/20 DOTA
Python装饰器基础详解
2016/03/09 Python
python爬虫实战之爬取京东商城实例教程
2017/04/24 Python
Python实现查找匹配项作处理后再替换回去的方法
2017/06/10 Python
scrapy-redis源码分析之发送POST请求详解
2019/05/15 Python
Python 中list ,set,dict的大规模查找效率对比详解
2019/10/11 Python
python socket通信编程实现文件上传代码实例
2019/12/14 Python
jupyter 使用Pillow包显示图像时inline显示方式
2020/04/24 Python
手把手教你如何用Pycharm2020.1.1配置远程连接的详细步骤
2020/08/07 Python
使用python tkinter开发一个爬取B站直播弹幕工具的实现代码
2021/02/07 Python
女大学生自我鉴定
2013/12/09 职场文书
未受刑事制裁公证证明
2014/09/20 职场文书
委托书格式要求
2015/01/28 职场文书
小平小道观后感
2015/06/09 职场文书
幼儿园教师教育随笔
2015/08/14 职场文书
导游词之湖北武当山
2019/09/23 职场文书
Windows server 2003卸载和安装IIS的图文教程
2022/07/15 Servers
分享很少见很有用的SQL功能CORRESPONDING
2022/08/05 MySQL