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 相关文章推荐
多广告投放代码 推荐
Nov 13 Javascript
JavaScript 字符编码规则
May 04 Javascript
JS实现横向与竖向两个选项卡Tab联动的方法
Sep 27 Javascript
JavaScript数组的一些奇葩行为
Jan 25 Javascript
JavaScript制作简单分页插件
Sep 11 Javascript
BootStrap Table对前台页面表格的支持实例讲解
Dec 22 Javascript
用jQuery实现可输入多选下拉组合框实例代码
Jan 18 Javascript
canvas实现粒子时钟效果
Feb 06 Javascript
Vue.js中兄弟组件之间互相传值实例
Jun 01 Javascript
详解VUE单页应用骨架屏方案
Jan 17 Javascript
基于VUE的v-charts的曲线显示功能
Oct 01 Javascript
详解js中的几种常用设计模式
Jul 16 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在数组中查找指定值的方法
2015/03/17 PHP
php lcg_value与mt_rand生成0~1随机小数的效果对比分析
2017/04/05 PHP
javascript 类型判断代码分析
2010/03/28 Javascript
JQuery Tab选项卡效果代码改进版
2010/04/01 Javascript
使用jquery为table动态添加行的实现代码
2011/03/30 Javascript
jQuery 获取/设置/删除DOM元素的属性以a元素为例
2014/05/23 Javascript
使用typeof方法判断undefined类型
2014/09/09 Javascript
浏览器缩放检测的js代码
2014/09/28 Javascript
理解JavaScript中worker事件api
2015/12/25 Javascript
jquery配合.NET实现点击指定绑定数据并且能够一键下载
2016/10/28 Javascript
简单理解js的冒泡排序
2016/12/19 Javascript
Canvas实现动态的雪花效果
2017/02/13 Javascript
Webpack中css-loader和less-loader的使用教程
2017/04/27 Javascript
AngularJS 验证码60秒倒计时功能的实现
2017/06/05 Javascript
基于Require.js使用方法(总结)
2017/10/26 Javascript
微信小程序出现wx.navigateTo页面不跳转问题的解决方法
2017/12/26 Javascript
jQuery实现的中英文切换功能示例
2019/01/11 jQuery
layui table 复选框跳页后再回来保持原来选中的状态示例
2019/10/26 Javascript
vue.config.js中配置Vue的路径别名的方法
2020/02/11 Javascript
Python库urllib与urllib2主要区别分析
2014/07/13 Python
简单的Python的curses库使用教程
2015/04/11 Python
python通过apply使用元祖和列表调用函数实例
2015/05/26 Python
Django框架中间件(Middleware)用法实例分析
2019/05/24 Python
Python用Try语句捕获异常的实例方法
2019/06/26 Python
Django3.0 异步通信初体验(小结)
2019/12/04 Python
python中tkinter窗口位置\坐标\大小等实现示例
2020/07/09 Python
利用HTML5 Canvas制作键盘及鼠标动画的实例分享
2016/03/15 HTML / CSS
英国医生在线预约:Top Doctors
2019/10/30 全球购物
远程教育心得体会
2014/01/03 职场文书
检察官就职演讲稿
2014/01/13 职场文书
诉讼代理人授权委托书
2014/04/08 职场文书
2014年圣诞节寄语
2014/12/08 职场文书
荆州古城导游词
2015/02/06 职场文书
新店开业策划方案怎么书写?
2019/07/05 职场文书
《追风筝的人》:人心中的成见是座大山,但请不忘初心
2019/11/15 职场文书
Golang ort 中的sortInts 方法
2022/04/24 Golang