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实现div拖拽效果实例分析
Feb 20 Javascript
jQuery扩展实现text提示还能输入多少字节的方法
Nov 28 Javascript
JavaScript选取(picking)和反选(rejecting)对象的属性方法
Aug 16 Javascript
详解从Vue.js源码看异步更新DOM策略及nextTick
Oct 11 Javascript
vue+element实现批量删除功能的示例
Feb 28 Javascript
基于vue中解决v-for使用报红并出现警告的问题
Mar 03 Javascript
详解vuex中mapState,mapGetters,mapMutations,mapActions的作用
Apr 13 Javascript
对angularJs中2种自定义服务的实例讲解
Sep 30 Javascript
详解Vue项目中实现锚点定位
Apr 24 Javascript
jQuery动态生成的元素绑定事件操作实例分析
May 04 jQuery
环形加载进度条封装(Vue插件版和原生js版)
Dec 04 Javascript
解决echarts echarts数据动态更新和dataZoom被重置问题
Jul 20 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中使用DOM类读取XML文件的实现代码
2011/12/14 PHP
PHP使用递归方式列出当前目录下所有文件的方法
2015/06/02 PHP
PHP 将数组打乱 shuffle函数的用法及简单实例
2016/06/17 PHP
thinkPHP分组后模板无法加载问题解决方法
2016/07/12 PHP
PHP网站常见安全漏洞,及相应防范措施总结
2021/03/01 PHP
Javascript解决常见浏览器兼容问题的12种方法
2010/01/04 Javascript
jCallout 轻松实现气泡提示功能
2013/09/22 Javascript
JS onmousemove鼠标移动坐标接龙DIV效果实例
2013/12/16 Javascript
javascript动态生成树形菜单的方法
2015/11/14 Javascript
探讨JavaScript标签位置的存放与功能有无关系
2016/01/15 Javascript
EasyUi combotree 实现动态加载树节点
2016/04/01 Javascript
jQuery与JS加载事件用法分析
2016/09/04 Javascript
node.js发送邮件email的方法详解
2017/01/06 Javascript
JS计算距当前时间的时间差实例
2017/12/29 Javascript
react native 文字轮播的实现示例
2018/07/27 Javascript
微信小程序实现判断是分享到群还是个人功能示例
2019/05/03 Javascript
js实现橱窗展示效果
2020/01/11 Javascript
JS实现表单中点击小眼睛显示隐藏密码框中的密码
2020/04/13 Javascript
原生js实现简单轮播图
2020/10/26 Javascript
[06:42]DOTA2每周TOP10 精彩击杀集锦vol.1
2014/06/25 DOTA
[14:56]教你分分钟做大人:巫医
2014/10/30 DOTA
python k-近邻算法实例分享
2014/06/11 Python
python获取Linux下文件版本信息、公司名和产品名的方法
2014/10/05 Python
Python对列表去重的多种方法(四种方法)
2017/12/05 Python
解决csv.writer写入文件有多余的空行问题
2018/07/06 Python
解决Python print 输出文本显示 gbk 编码错误问题
2018/07/13 Python
django用户登录和注销的实现方法
2018/07/16 Python
基于python实现简单日历
2018/07/28 Python
Python综合应用名片管理系统案例详解
2020/01/03 Python
Python制作简易版小工具之计算天数的实现思路
2020/02/13 Python
Python数据可视化图实现过程详解
2020/06/12 Python
Nike爱尔兰官方网站:Nike.com (IE)
2018/03/12 全球购物
毕业生应聘幼儿园的自荐信
2013/11/20 职场文书
学生请假条格式
2014/04/11 职场文书
2016年6.5世界环境日宣传活动总结
2016/04/01 职场文书
win10如何开启ahci模式?win10开启ahci模式详细操作教程
2022/07/23 数码科技