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 相关文章推荐
JavaScript 高级篇之闭包、模拟类,继承(五)
Apr 07 Javascript
uploadify在Firefox下丢失session问题的解决方法
Aug 07 Javascript
JQuery实现倒计时按钮具体方法
Nov 14 Javascript
js判断iframe内的网页是否滚动到底部触发事件
Mar 18 Javascript
avalonjs实现仿微博的图片拖动特效
May 06 Javascript
JQuery球队选择实例
May 18 Javascript
基于javascript实现图片预加载
Jan 05 Javascript
JavaScript设计模式经典之命令模式
Feb 24 Javascript
AngularJS中run方法的巧妙运用
Jan 04 Javascript
原生JS实现图片无缝滚动方法(附带封装的运动框架)
Oct 01 Javascript
使用React手写一个对话框或模态框的方法示例
Apr 25 Javascript
vue数据字典取键值项目的字典问题
Apr 12 Vue.js
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 $_SERVER["REQUEST_URI"]获取值的通用解决方法
2010/06/21 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十三)
2014/06/26 PHP
PHP Session机制简介及用法
2014/08/19 PHP
浏览器无法运行JAVA脚本的解决方法
2008/01/09 Javascript
jquery中获取元素的几种方式小结
2011/07/05 Javascript
通过正则表达式实现表单验证是否为中文
2014/02/18 Javascript
JavaScript优化专题之Loading and Execution加载和运行
2016/01/20 Javascript
jquery自定义插件开发之window的实现过程
2016/05/06 Javascript
酷! 不同风格页面布局幻灯片特效js实现
2021/02/19 Javascript
原生JS查找元素的方法(推荐)
2016/11/22 Javascript
jQuery实现遍历复选框的方法示例
2017/03/06 Javascript
Vue2.0中集成UEditor富文本编辑器的方法
2018/03/03 Javascript
Node.js 使用jade模板引擎的示例
2018/05/11 Javascript
vue权限路由实现的方法示例总结
2018/07/29 Javascript
[01:50]2014DOTA2西雅图邀请赛 专访欢乐周宝龙
2014/07/08 DOTA
[01:12]快闪回顾DOTA2亚洲邀请赛(DAC) 静候2018新征程开启
2018/03/11 DOTA
分析python服务器拒绝服务攻击代码
2014/01/16 Python
Python编程使用*解包和itertools.product()求笛卡尔积的方法
2017/12/18 Python
win7下python3.6安装配置方法图文教程
2018/07/31 Python
Python flask框架端口失效解决方案
2020/06/04 Python
Python txt文件常用读写操作代码实例
2020/08/03 Python
python 调用API接口 获取和解析 Json数据
2020/09/28 Python
好药师网上药店:安全合法的网上药品零售药房
2017/02/15 全球购物
北卡罗来纳州豪华家具和家居装饰店:Carolina Rustica
2018/10/30 全球购物
服装销售人员求职自我评价
2013/09/26 职场文书
优秀教师先进个人事迹材料
2014/08/31 职场文书
高中生第一学年自我鉴定2015
2014/09/28 职场文书
三好学生个人总结
2015/02/15 职场文书
旷工辞退通知书
2015/04/17 职场文书
道歉信怎么写
2015/05/12 职场文书
刑事法律意见书
2015/06/04 职场文书
公司档案管理制度
2015/08/05 职场文书
运动会200米广播稿
2015/08/19 职场文书
2016年精神文明建设先进个人事迹材料
2016/02/29 职场文书
入伍志愿书怎么写?
2019/07/19 职场文书
品牌形象定位,全面分析
2019/07/23 职场文书