了解需求
搞定时间处理可不是闹着玩儿的,把毫秒数转化成咱们看得明白的小时、分钟、秒可得是个大问题!现在可是有无数软件和APP都得展示时间要是直接用毫秒数岂不太过复杂,难以让人明白?别急,这事儿交给jQuery和JavaScript来搞定!快看看我们写的小函数能不能帮上忙。这样做不仅提升了用户体验,而且还让大家对时间的了解更加直观明了!
探索转换公式
var milliseconds = 1000; var seconds = 60; var minutes = 60; var hours = 24; var days_to_milliseconds = 86400000; var current_time_in_milliseconds = new Date().getTime(); var time_difference_in_milliseconds = current_time_in_milliseconds - start_time_in_milliseconds; var seconds_since_start = Math.floor(time_difference_in_milliseconds / milliseconds); var minutes_since_start = Math.floor(seconds_since_start / seconds); var hours_since_start = Math.floor(minutes_since_start / minutes); var days_since_start = Math.floor(hours_since_start / hours); // Display the result in the console console.log(days_since_start + ' days, ' + hours_since_start % 24 + ' hours, ' + minutes_since_start % 60 + ' minutes, and ' + seconds_since_start % 60 + ' seconds since start.');
搞定毫秒变小时、分钟、秒,咱们直接看公式!这就是按照我们平时习惯,找时间单位换算规律的方法。仔细瞅瞅这个公式,能让你更明白时间单位之间的关系,提前为以后的编程打点好基础。
编写转换函数
马上,咱们要用jQuery跟JavaScript写个公式,让毫秒变成本时分秒的格式。先得用floor函数搞准确点,不然误差就大了。再来,逐步数数每个单位的个数,加上结果字符串里头,最后就得到你想要的时间!
function millisecondsToTime(ms) { var milliseconds = 1000; var seconds = 60; var minutes = 60; var hours = 24; var days_to_milliseconds = 86400000; var time_difference_in_milliseconds = ms; var seconds_since_start = Math.floor(time_difference_in_milliseconds / milliseconds); var minutes_since_start = Math.floor(seconds_since_start / seconds); var hours_since_start = Math.floor(minutes_since_start / minutes); var days_since_start = Math.floor(hours_since_start / hours); // Format the result var result = ''; if (days_since_start > 0) { result += days_since_start + '天 '; } if (hours_since_start > 0) { result += hours_since_start % 24 + '小时 '; } if (minutes_since_start > 0) { result += minutes_since_start % 60 + '分钟 '; } // Add the seconds result += seconds_since_start % 60 + '秒'; return result; }
调用自定义函数
搞定那自定义函数,随时能用!只要把需要转成时分秒的毫秒数传进去,立马就有答案!简直是个神器!
实际应用场景
这个把毫秒变时分秒的小招式,不只是个技术宅的秘密武器,各种应用程序都能用得到!像倒计时那些功能,就能直接显示还剩多少时、分、秒给你看;还有看视频时,也会告诉你已经看了多长时间之类的。所以说,学好了这招对于我们这些码农来说,还是很实用滴。
优化与扩展功能
var milliseconds = 500000; // This is the number of milliseconds we want to convert var time_string = millisecondsToTime(milliseconds); console.log(time_string); // Outputs "8分钟 20秒"
别只想着把秒数换成分分秒了,咱们还可以加点料儿嘛:比如说加上个选项来实现不同的输出方式啦;再多做点儿国际语言的适配,方便各种环境使用啦;再者就是好好优化一下算法,让它运行起来更快些呗。只有不断精进升级,这个时间转换器才能够越来越实用且好用!
深入研究与应用
如果你想深入学习时间处理,那就别只盯着jQuery!其实JavaScript界里还有个神器moment.js。当然,了解下ISO8601规范也很重要,这样就能更轻松地搞定时间处理!
评论0