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