使用javascript查找12小时格式的两个不同时间之间的时差的代码是什么。我在动态网格视图中使用这两个时间字段。
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;
答案 0 :(得分:3)
下面&#39;如何在两个自定义日期之间获得毫秒时间差。
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'));
如果你需要am / pm:
var diff = moment('3:30 pm','HH:mm a').diff(moment('3:20 am','HH:mm a'));
此处jsfiddle
答案 1 :(得分:0)
JS中的时代对于处理跨浏览器来说可能是一种痛苦,任何不得不调试错误的跨浏览器行为的人都可以证明这一点。我学到了比以往任何时候我都想做任何关于JS的约会涉及moment.js lib。
起初我不情愿,因为我认为我可以自己做大部分事情并自己动手。这是一支古巴雪茄,没有多少家用滚动可以涵盖所有工具的时刻。
我不会告诉你如何修复,只需给你工具......
享受!
答案 2 :(得分:0)
您还没有显示时间的格式,只是说它们是&#34; 12小时格式&#34;。一种算法是解析并将它们转换为一个公共单位,比如秒,找到差异,然后将其格式化回任何适合的单位。
因此,如果时间是h:m:s a / p格式,如&#34; 9:42:15 am&#34;并且您希望结果采用类似的格式,那么以下功能可能有所帮助。
/* Convert time in h:m:s a/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'));
&#13;
答案 3 :(得分:0)
尝试使用这个简单的插件来获取时差。
https://github.com/gayanSandamal/good-time
从good-time.js导入goodTimeDiff方法到您的项目
import {goodTimeDiff} from './scripts/good-time.js'
声明一个对象以进行如下设置。让设置= {}
现在将时间值分配给已声明的对象变量。 *时间必须为标准格式,并且必须为字符串! * 'from'是可选的,默认值为浏览器当前时间。
let settings = {
'from': '2019-01-13T00:00:29.251Z',
'to': '2018-09-22T17:15:29.251Z'
}
现在回叫名为goodTimeDiff()的方法,并将设置对象变量作为参数传递。
goodTimeDiff(settings)
最后将方法分配给所需的任何变量。
let lastCommentedTime = goodTimeDiff(timeSettings)