Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.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 如何在Luxon中使用diff方法_Javascript_Luxon - Fatal编程技术网

Javascript 如何在Luxon中使用diff方法

Javascript 如何在Luxon中使用diff方法,javascript,luxon,Javascript,Luxon,我目前从日历控件获取日期,并使用luxon向其添加天、分钟,并将其更改为长小时格式,如下所示: newValue:是我从前端(日历控件)获得的值 当前解析的formattedDateParsed为“Null” 我能得到一些关于如何解析日期以便计算差异的帮助吗 首先,FormattedDate和FormattedDate是不同的变量,因此没有设置FormattedDate: let formattedDate: any; FormattedDate = DateTime.fromJSDate(ne

我目前从日历控件获取日期,并使用luxon向其添加天、分钟,并将其更改为长小时格式,如下所示: newValue:是我从前端(日历控件)获得的值

当前解析的formattedDateParsed为“Null”


我能得到一些关于如何解析日期以便计算差异的帮助吗

首先,
FormattedDate
FormattedDate
是不同的变量,因此没有设置
FormattedDate

let formattedDate: any;
FormattedDate = DateTime.fromJSDate(new Date(newValue)).plus({ days: 1, hours: 3, minutes: 13, seconds: 10 }).toLocaleString(DateTime.DATETIME_HUGE_WITH_SECONDS)
console.log(formattedDate);
其次,将日期构造函数用作解析器,将其转换为字符串,然后再转换为日期时间,这不是一个好主意,因为a)这是不必要的,b)浏览器在解析哪些字符串方面并不超级一致

相反,让我们只转换一次:

const newValueParsed = DateTime.fromJSDate(new Date(newValue));
const laterDate = newValueParsed.plus({ days: 1, hours: 3, minutes: 13, seconds: 10 });
const diffInMonths = laterDate.diff(newValueParsed, ['months', 'days', 'hours', 'minutes', 'seconds']);
diffInMonths.toObject(); // => {months: 0, days: 1, hours: 3, minutes: 13, seconds: 10}

能否提供
newValue
的示例值?1970年1月2日,星期五,印度标准时间上午8:43:10这是字符串还是JavaScript日期?如果是Js日期,我认为您可以删除
新日期
,而如果是字符串,我担心新日期无法正确显示,您可能可以使用
const newValueParsed = DateTime.fromJSDate(new Date(newValue));
const laterDate = newValueParsed.plus({ days: 1, hours: 3, minutes: 13, seconds: 10 });
const diffInMonths = laterDate.diff(newValueParsed, ['months', 'days', 'hours', 'minutes', 'seconds']);
diffInMonths.toObject(); // => {months: 0, days: 1, hours: 3, minutes: 13, seconds: 10}