Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用矩减去两个日期得到总小时数?_Javascript_Typescript_Momentjs - Fatal编程技术网

Javascript 如何使用矩减去两个日期得到总小时数?

Javascript 如何使用矩减去两个日期得到总小时数?,javascript,typescript,momentjs,Javascript,Typescript,Momentjs,我必须减去两天,然后得到总小时数 let date1 = moment.tz(new Date(), "YYYY-MM-DDTHH:mm:ss", "America/Chicago").local().format('MM/DD/YYYY h:mm A'); let date2 = moment.tz(titleDate, "YYYY-MM-DDTHH:mm:ss", "America/Chicago").local().format('MM/DD/YYYY h:mm A'); let

我必须减去两天,然后得到总小时数

let date1 =  moment.tz(new Date(), "YYYY-MM-DDTHH:mm:ss", "America/Chicago").local().format('MM/DD/YYYY h:mm A');

let date2 =  moment.tz(titleDate, "YYYY-MM-DDTHH:mm:ss", "America/Chicago").local().format('MM/DD/YYYY h:mm A');


let getHours = date1.diff(date2, 'hours') 

我需要这样计算总小时数。有什么不同的方法来解决这个问题吗

函数返回一个字符串。因此,在代码中,
date1
date2
是字符串,而不是momentjs-datetime值。删除对
format()
的调用
format
函数返回一个字符串。因此,在代码中,
date1
date2
是字符串,而不是momentjs-datetime值。删除对
format()

的调用,也可以使用

let date1 =  moment.tz(new Date(), "YYYY-MM-DDTHH:mm:ss", "America/Chicago").local();
let date2 =  moment.tz(titleDate, "YYYY-MM-DDTHH:mm:ss", "America/Chicago").local();
var x = moment.duration(date1.diff(date2)).asHours();

也可以使用

let date1 =  moment.tz(new Date(), "YYYY-MM-DDTHH:mm:ss", "America/Chicago").local();
let date2 =  moment.tz(titleDate, "YYYY-MM-DDTHH:mm:ss", "America/Chicago").local();
var x = moment.duration(date1.diff(date2)).asHours();

从格式化后的

,date1没有作为字符串的diff方法。您可以删除该格式

let date1 =  moment.tz(new Date(), "YYYY-MM-DDTHH:mm:ss", "America/Chicago").local();
let date2 =  moment.tz(titleDate, "YYYY-MM-DDTHH:mm:ss", "America/Chicago").local();
let getHours = date1.diff(date2, 'hours');
或者,如果date1和date2位于同一时区:

let date1 =  moment();
let date2 =  moment(titleDate);
let getHours = date1.diff(date2, 'hours');


date1.diff(date2)
返回毫秒。

格式化后,date1没有作为字符串的diff方法。您可以删除该格式

let date1 =  moment.tz(new Date(), "YYYY-MM-DDTHH:mm:ss", "America/Chicago").local();
let date2 =  moment.tz(titleDate, "YYYY-MM-DDTHH:mm:ss", "America/Chicago").local();
let getHours = date1.diff(date2, 'hours');
或者,如果date1和date2位于同一时区:

let date1 =  moment();
let date2 =  moment(titleDate);
let getHours = date1.diff(date2, 'hours');

date1.diff(date2)
返回毫秒。

尝试以下操作:

var titleDate=新日期(2018、11、24、10、33、30);
var originalDate1=moment.tz(新日期(),“YYYY-MM-DDTHH:MM:ss”,“美国/芝加哥”).local();
var date1=originalDate1.format('MM/DD/YYYY h:MM A');
var originalDate2=矩.tz(titleDate,“YYYY-MM-DDTHH:MM:ss”,“美国/芝加哥”).local();
var date2=originalDate2.format('MM/DD/YYYY h:MM A');
console.log(date1+“\n”+date2);
var持续时间=时刻持续时间(原始日期2.diff(原始日期1))//myMoment.diff(现在是“天”,真的);
var hoursDuration=duration.asHours();
console.log(小时持续时间)

试试这个:

var titleDate=新日期(2018、11、24、10、33、30);
var originalDate1=moment.tz(新日期(),“YYYY-MM-DDTHH:MM:ss”,“美国/芝加哥”).local();
var date1=originalDate1.format('MM/DD/YYYY h:MM A');
var originalDate2=矩.tz(titleDate,“YYYY-MM-DDTHH:MM:ss”,“美国/芝加哥”).local();
var date2=originalDate2.format('MM/DD/YYYY h:MM A');
console.log(date1+“\n”+date2);
var持续时间=时刻持续时间(原始日期2.diff(原始日期1))//myMoment.diff(现在是“天”,真的);
var hoursDuration=duration.asHours();
console.log(小时持续时间)

获取日期1。diff(date2)不是函数错误。可能重复的
diff()
momentjs
的函数,而不是
momenttimezone
库,因此确保您也添加了
momentjs
库。获取日期1.diff(date2)不是函数错误。
diff()
momentjs
的函数,而不是
momenttimezone
库的函数,因此请确保您也添加了
momentjs
库。