[英]Time difference using javascript
什么是使用javascript找到12小時格式的兩個不同時間之間的時差的代碼。 我在動態gridview中使用這兩個時間字段。
var gridNew = document.getElementById("<%= Gridview1.ClientID %>");
if (gridNew.rows.length > 0) {
for (i = 0; i < gridNew.rows.length - 2; i++) {
var frombox = document.getElementById("Gridview1_txtFrom_" + (i));
var tobox = document.getElementById("Gridview1_txtTo_" + (i));
if(frombox.value<=tobox.value){
alert("Enter valid time set");
return false;
這里'你如何在兩個自定義日期之間獲得毫秒時差。
Math.abs(new Date(firstDateString).getTime() - new Date(secondDateString).getTime());
如果您在解析/轉換為Date
遇到問題,請考慮使用date.js或moment.js等庫
隨着時間你可以做這樣的事情:
var diff = moment('3:30','HH:mm').diff(moment('3:20','HH:mm'));
如果你需要上午/下午:
var diff = moment('3:30 pm','HH:mm a').diff(moment('3:20 am','HH:mm a'));
這是jsfiddle
除了說它們是“12hr格式”之外,您還沒有顯示時間格式。 一種算法是解析並將它們轉換為一個公共單位,比如秒,找到差異,然后將其格式化回任何適合的單位。
因此,如果時間是h:m:sa / p格式,如“9:42:15 am”,並且您希望結果采用類似的格式,那么以下函數可能會有所幫助。
/* Convert time in h:m:sa/p format to seconds ** Seconds component is optional, h:m is OK ** Tolerates space before am/pm, leading and trailing whitespace ** Doesn't validate string ** ** @param {string} s - time to parse ** @returns {number} time converted to seconds. */ function hmsToSeconds(s) { var b = s.match(/\\d+/g); var am = /am\\s*$/i.test(s); return ((b[0] % 12) + (am? 0:12))*3600 + (b[1]*60) + (+b[2]||0); } /* Convert seconds to time in h:mm:ss format ** Maintains sign of input (+/-). ** ** @param {number} s - seconds to convert ** @returns {string} seconds converted to h:mm:ss. */ function secToHMS(s) { function z(n){return (n<10? '0' : '') + n} var sign = s < 0? '-' : ''; s = Math.abs(s); return sign + (s/3600 | 0) + ':' + z((s%3600 / 60 |0)) + ':' + z(s%60); } function getTimeDifference(t0, t1) { return secToHMS(hmsToSeconds(t1) - hmsToSeconds(t0)); } document.write(getTimeDifference('11:32 am','12:38:51pm'));
試試這個簡單的插件來獲得時差。
https://github.com/gayanSandamal/good-time
將goodTimeDiff方法從good-time.js導入到您的項目中
import {goodTimeDiff} from './scripts/good-time.js'
聲明一個對象以提供如下設置。 設置= {}
現在為聲明的對象變量分配時間值。 *時間必須是標准格式,必須是字符串! * 'from'是可選的,默認值將是瀏覽器當前時間。
let settings = {
'from': '2019-01-13T00:00:29.251Z',
'to': '2018-09-22T17:15:29.251Z'
}
現在calllback名為goodTimeDiff()的方法,並將設置對象變量作為參數傳遞。
goodTimeDiff(settings)
最后將方法分配給您想要的任何變量。
let lastCommentedTime = goodTimeDiff(timeSettings)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.