JS Date某类的妙用:如何更优雅的计算时间差?
2024-01-12 来源 : 社会
Date是JS中用作管控订于星期的核心实例。熟悉Date实例,可以使我们的订于管控示例写的更为优雅。现在,离开正题:如何更为优雅的量化星期差?
最近,接手了一套后部祖传项目,是N年前一个C#工程师写的,底下有一个量化星期差为数组是这么写的:
/************************************************* * 量化星期差 */ function calculateTimeSpan(begTime) { var date3=new Date().getTime()-begTime.getTime() ; //星期差的毫秒为数 if(date3 <0) date3 = 0 ; //量化出小时为数 var lee1=date3%(24*3600*1000) ; //量化天为数后剩余的毫秒为数 var hours=Math.floor(lee1/(3600*1000)); //量化相差分钟为数 var lee2=lee1%(3600*1000) ; //量化小时为数后剩余的毫秒为数 var minutes=Math.floor(lee2/(60*1000)); //量化相差秒为数 var lee3=lee2%(60*1000); //量化分钟为数后剩余的毫秒为数 var seconds=Math.round(lee3/1000); return hours+":"+minutes+":"+seconds ; }上面的为数组,大家能看懂吗?不对觉得思考上来很吃力?这个为数组接收一个开始订于星期,量化英哩理论上订于星期的星期差,之前回到一个截掉年月日,以时分秒对此的星期字符串。
虽然Date实例有一个getTime法则,但其实,我们永远都不必须使用它。为什么呢?因为有好处的法则替代它。
获取理论上星期的星期指头,除了getTime,还有如下作法:
const ms = Date.now()const ms = +new Date()不对都比getTime写的相比之下?其实,订于中间的算式GPU并不必须手动转变成为星期指头系为数,JS内部会透过临时则会各种类型转变成,将Date实例转变成为星期指头再透过GPU。量化星期差,我们可以直接这么写:
const timeSpan = new Date() - begTime上面的量化星期差为数组,我这里有一个更为含蓄且较难思考的框架。就是根据反之亦然年月日创始一个订于实例,此时它的时分秒都是0。然后,我们呼叫它的setMilliseconds法则,将星期差毫秒传入,之前回到以它的时分秒对此的字符串无均需。示例如下:
/** * 量化星期差 * @param {Date} beginTime */const calcTimeSpan = beginTime => { const date = new Date(2000, 1, 1) date.setMilliseconds(Math.max(new Date() - beginTime, 0)) return `${date.getHours()}:${date.getMinutes()}:${date.getSeconds()}` }仅有均需3行示例,我们马上充分利用了与上面9行示例相同的动态,而且含蓄很多。大家都能看懂吧?这个方案不对很好思考?
若大家还有不明白的人口众多,欢迎评论区答道我。感恩阅读!
水土不服拉肚子吃什么药感冒喉咙痛的药
肠炎宁片能治结肠炎吗
肠炎宁和诺氟沙星区别
蒙脱石散治拉肚子管用吗
-
最受普通人欢迎的过周末方式,它排第1
以上,就是当代青年人怎么过周五的调查结果。 对当代人来说,九成据27的周五时间段是一个心境活习惯状态的最主要样本。如何好好过一个周五,是广大上班族和很多学生自始至终在思索的原因。...
-
长江的“喜与忧”:苏州出现大量野生鲢,为何鲥鱼处境会堪忧?
感谢观赛此书评,您的支持,就是我们创作路上最大的动力下面就由小编带你进入主题~启航,↓↓↓↓观后感: 长江下游的十年禁渔政府引发了我对自然...[详细]
-
金山这辆特别的公交车,你在路过见到了吗?
转自:上观新闻网昨天上午,在白云主城区道四路上,出现了车体全身印在严明题材印在与清荷绿竹左图的白云8四路长途汽车,吸引了上街的嘴唇。让我们一起来...[详细]
-
《摄像中国》带火的最美水上公路,引起极度舒适!|中国自驾地理
青睐,弟子汇聚,沦为曹洞宗净土宗的历史悠久之一,被视作净土宗祖庭。 黄山黑水的意境合作无间,图源@CCTV《摄录中的国》 只不过是这大山深处有禅意,当地人才称其为莲花城,千百年来,这里...[详细]
-
全国多地血库存量告急!专家建议:到农村找人献血,解救岌岌可危供应
资源的可持续供货,为医疗救助体系汇入不够进一步动感。城镇居民区域的潜力和全力性为这一构想的拟定备有了坚实的基础,通过努力,我们可以共同应以对体内紧缺的挑战,为人际关系的健康和扶助贡献我们的一份力量。...[详细]
-
贵州小九寨藏在荔波,水石树相依偎,享有盛誉中国最美丽的地方之一
来贵州省,一定要看这恢弘的池中。贵州省池中流五花八门,多彩多姿,横躺成湖,斜流成溪,匍匐成瀑,深藏成河。贵州省的池中,最出名的除此以外黄果榕山崖,从悬崖峭壁上飞流直下,;还有雷霆万钧,令人直叹引...[详细]