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.prototype.init选择器构造函数源码思路分析
Feb 05 Javascript
js 实现浏览历史记录示例
Apr 20 Javascript
基于javascript实现最简单的选项卡切换效果
May 16 Javascript
EasyUI Datebox 日期验证之开始日期小于结束时间
May 19 Javascript
vue高德地图之玩转周边
Jun 16 Javascript
angularjs实现table增加tr的方法
Feb 27 Javascript
vue+node实现图片上传及预览的示例方法
Nov 22 Javascript
ES6 Set结构的应用实例分析
Jun 26 Javascript
Smartour 让网页导览变得更简单(推荐)
Jul 19 Javascript
layui实现checkbox的目录树tree的例子
Sep 12 Javascript
JavaScript代码异常监控实现过程详解
Feb 17 Javascript
JS画布动态实现黑客帝国背景效果
Nov 08 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
非常好用的Zend Framework分页类
2014/06/25 PHP
浅析php设计模式之数据对象映射模式
2016/03/03 PHP
100个不能错过的实用JS自定义函数
2014/03/05 Javascript
手写的一个兼容各种浏览器的javascript getStyle函数(获取元素的样式)
2014/06/06 Javascript
JQuery跳出each循环的方法
2015/04/16 Javascript
jQuery网页右侧广告跟随滚动代码分享
2020/04/20 Javascript
javascript常用经典算法实例详解
2015/11/25 Javascript
认识Knockout及如何使用Knockout绑定上下文
2015/12/25 Javascript
p5.js 毕达哥拉斯树的实现代码
2018/03/23 Javascript
vue.js 中使用(...)运算符报错的解决方法
2018/08/09 Javascript
layui 选择列表,打勾,点击确定返回数据的例子
2019/09/02 Javascript
微信小程序制作扭蛋机代码实例
2019/09/24 Javascript
JS造成内存泄漏的几种情况实例分析
2020/03/02 Javascript
JavaScript构造函数原理及实现流程解析
2020/11/19 Javascript
python使用scrapy解析js示例
2014/01/23 Python
Python下singleton模式的实现方法
2014/07/16 Python
python网络编程调用recv函数完整接收数据的三种方法
2017/03/31 Python
基于Django的python验证码(实例讲解)
2017/10/23 Python
使用python和pygame绘制繁花曲线的方法
2018/02/24 Python
关于Python 常用获取元素 Driver 总结
2019/11/24 Python
python正则过滤字母、中文、数字及特殊字符方法详解
2020/02/11 Python
Jupyter打开图形界面并画出正弦函数图像实例
2020/04/24 Python
python如何设置静态变量
2020/09/07 Python
CSS3的transition和animation的用法实例介绍
2014/08/20 HTML / CSS
雪花秀美国官方网站:韩国著名草本护肤化妆品品牌
2016/10/19 全球购物
求网格中的黑点分布
2013/11/06 面试题
播音主持专业个人自我评价
2014/01/09 职场文书
交通安全寄语大全
2014/04/08 职场文书
个人评语大全
2014/05/04 职场文书
《中国梦我的梦》大学生演讲稿
2014/08/20 职场文书
教师拔河比赛广播稿
2014/10/14 职场文书
自荐信格式范文
2015/03/04 职场文书
上课迟到检讨书
2015/05/06 职场文书
秋菊打官司观后感
2015/06/03 职场文书
工作后的感想
2015/08/07 职场文书
python爬虫--selenium模块
2021/03/31 Python