使用 vuetify 时间选择器和 momentjs 获取两次之间的差异
Get difference between two times using vuetify time picker and momentjs
我正在构建一个日程安排应用程序,但我无法计算两次之间的差异。一个时间是现在,我使用 momentjs 获得,另一个时间是用户从给定地点出发的时间,使用 vuetifyjs 时间选择器。获得这两个时间的目的是计算从现在到出发时间之间的剩余时间。因此,例如,如果当前时间现在是星期三下午 4 点,出发时间是星期四下午 2 点,则预期输出为 22 小时。现在,我像这样格式化每个时间:
let now = moment().format("HH");
let departureHour = moment(this.departureTime, "HH").format("HH");
当我查看这些变量的各个输出时,我看到两个字符串或矩实例,例如 'now': '16', 'departureHour': '14'。但是,当我尝试像这样获得它们的差异时,
return departureHour.diff(now, "hours");
我收到一条错误消息:
[Vue warn]: Error in render: "TypeError: departureHour.diff is not a function"
我也试过像这样格式化变量
let now = moment.utc().format("HH");
let departureHour = moment.utc(this.departureTime, "HH").format("HH");
但是我得到了同样的错误。
我尝试了一些我发现的解决方案,例如 , this one, and this ,但其中 none 似乎对我有用。
任何帮助将不胜感激。如果您还有其他需要了解的信息,请告诉我。
希望我的问题不会太乱。
谢谢。
您收到的错误表明 departureHour
不是矩对象。这是一个String
您可能还会遇到计算错误,因为 now
不在 utc
中,而 departureHour
是。
最后警告,我不是你期望 departureHour
初始化的。
如果您想查看两个矩对象之间的差异,以小时为单位:
const now = moment.utc();
const departureHour = moment.utc(this.departureTime, "HH");
const diff = departureHour.diff(now, "hours"));
如果你只是想要两个数字之间的差异,使用数字减法可能会更好:
const now = Number(moment.utc().format("HH"));
// assuming departure time is in "HH" format, a number between 00 to 24
const diff = Math.abs(Number(departureTime) - now);
我正在构建一个日程安排应用程序,但我无法计算两次之间的差异。一个时间是现在,我使用 momentjs 获得,另一个时间是用户从给定地点出发的时间,使用 vuetifyjs 时间选择器。获得这两个时间的目的是计算从现在到出发时间之间的剩余时间。因此,例如,如果当前时间现在是星期三下午 4 点,出发时间是星期四下午 2 点,则预期输出为 22 小时。现在,我像这样格式化每个时间:
let now = moment().format("HH");
let departureHour = moment(this.departureTime, "HH").format("HH");
当我查看这些变量的各个输出时,我看到两个字符串或矩实例,例如 'now': '16', 'departureHour': '14'。但是,当我尝试像这样获得它们的差异时,
return departureHour.diff(now, "hours");
我收到一条错误消息:
[Vue warn]: Error in render: "TypeError: departureHour.diff is not a function"
我也试过像这样格式化变量
let now = moment.utc().format("HH");
let departureHour = moment.utc(this.departureTime, "HH").format("HH");
但是我得到了同样的错误。
我尝试了一些我发现的解决方案,例如
任何帮助将不胜感激。如果您还有其他需要了解的信息,请告诉我。
希望我的问题不会太乱。
谢谢。
您收到的错误表明 departureHour
不是矩对象。这是一个String
您可能还会遇到计算错误,因为 now
不在 utc
中,而 departureHour
是。
最后警告,我不是你期望 departureHour
初始化的。
如果您想查看两个矩对象之间的差异,以小时为单位:
const now = moment.utc();
const departureHour = moment.utc(this.departureTime, "HH");
const diff = departureHour.diff(now, "hours"));
如果你只是想要两个数字之间的差异,使用数字减法可能会更好:
const now = Number(moment.utc().format("HH"));
// assuming departure time is in "HH" format, a number between 00 to 24
const diff = Math.abs(Number(departureTime) - now);