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 类似flash效果的立体图片浏览器
Feb 08 Javascript
javascript放大镜效果的简单实现
Dec 09 Javascript
动态创建script在IE中缓存js文件时导致编码的解决方法
May 04 Javascript
移动手机APP手指滑动切换图片特效附源码下载
Nov 30 Javascript
JQuery移动页面开发之屏幕方向改变与滚屏的实现
Dec 03 Javascript
javascript HTML5 Canvas实现圆盘抽奖功能
Apr 11 Javascript
JavaScript动态添加事件之事件委托
Jul 12 Javascript
Bootstrap和Angularjs配合自制弹框的实例代码
Aug 24 Javascript
Jquery实现上下移动和排序代码
Oct 17 Javascript
实现jquery放大镜的两种方法
Feb 22 jQuery
Vue基础配置讲解
Nov 29 Javascript
微信小程序纯文本实现@功能
Apr 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
yii2.0之GridView自定义按钮和链接用法
2014/12/15 PHP
PHP使用正则表达式获取微博中的话题和对象名
2015/07/18 PHP
php表单文件iframe异步上传实例讲解
2017/07/26 PHP
php插入mysql数据返回id的方法
2018/05/31 PHP
JQuery中html()方法使用不当带来的陷阱
2011/04/07 Javascript
解决jquery的datepicker的本地化以及Today问题
2012/05/23 Javascript
js修改input的type属性及浏览器兼容问题探讨与解决
2013/01/23 Javascript
jquery制作居中遮罩层效果分享
2014/02/21 Javascript
浅析JS中document对象的一些重要属性
2014/03/06 Javascript
JQuery判断radio(单选框)是否选中和获取选中值方法总结
2015/04/15 Javascript
javascript跨域总结之window.name实现的跨域数据传输
2015/11/01 Javascript
JS组件Bootstrap Select2使用方法解析
2016/05/30 Javascript
js+css3实现旋转效果
2017/01/20 Javascript
react-native中ListView组件点击跳转的方法示例
2017/09/30 Javascript
vue2.0使用swiper组件实现轮播的示例代码
2018/03/03 Javascript
JS使用tween.js动画库实现轮播图并且有切换功能
2018/07/17 Javascript
详解Vue 项目中的几个实用组件(ts)
2019/10/29 Javascript
Vue+abp微信扫码登录的实现代码示例
2020/01/06 Javascript
[00:59]DOTA2荣耀之路1:Doom is back!weapon X!
2018/05/22 DOTA
Python通过90行代码搭建一个音乐搜索工具
2015/07/29 Python
python 实时遍历日志文件
2016/04/12 Python
Python编程之event对象的用法实例分析
2017/03/23 Python
python 文件操作删除某行的实例
2017/09/04 Python
Python排序搜索基本算法之冒泡排序实例分析
2017/12/09 Python
python中单例常用的几种实现方法总结
2018/10/13 Python
解决pycharm运行程序出现卡住scanning files to index索引的问题
2019/06/27 Python
Python3 虚拟开发环境搭建过程(图文详解)
2020/01/06 Python
Python如何使用内置库matplotlib绘制折线图
2020/02/24 Python
退伍老兵事迹材料
2014/01/31 职场文书
移交协议书
2014/08/19 职场文书
四风问题对照检查整改措施思想报告
2014/10/05 职场文书
食堂采购员岗位职责
2015/04/03 职场文书
2015年学校教研室主任工作总结
2015/07/20 职场文书
幼儿教师继续教育培训心得体会
2016/01/19 职场文书
高一化学教学反思
2016/02/22 职场文书
Python中time与datetime模块使用方法详解
2022/03/31 Python