【发布时间】:2021-07-08 20:33:20
【问题描述】:
我很困惑。
我有一个文本框,其中填充了日期和时间(字符串),例如 '09/07/2021 10:30'。
我把这个字符串转换成这样的时刻:
var suggestedDateObj = moment(suggestedDate, 'DD/MM/YYYY HH:mm');
然后我想检查此日期和时间是否在 fullcalendar.js 事件对象的时间段之间。我是这样做的:
var startDateObj = moment(value.start);
var endDateObj = moment(value.end);
if (suggestedDateObj.isBetween(startDateObj, endDateObj)) {}
但是...它不起作用。这是由于时区偏移(我认为)。
suggestedDateObj 返回一个 UTC 偏移量为 +0100(英国夏令时)的值
但是,我的日历事件对象返回一个 UTC 偏移量为 +0000 的日期。所以当我检查 '09/07/2021 10:30 +0100' 是否在 '09/07/2021 10:30 +0000' 和 '09/ 之间07/2021 11:30 +0000' 不行!
我想我的问题真的是:
- 如何创建时区偏移为零的建议日期对象时刻?或
- 如何告诉 fullcallendar 事件它显示的时间实际上是 BST (+0100)?目前我没有指定“时区”参数。
谢谢。
更新 嗯....这可能有用....虽然感觉有点笨拙:
var tmoment1 = moment(suggestedDate, 'DD/MM/YYYY HH:mm');
//create default date with specific timezone offset of zero
var suggestedDateObj = moment().utcOffset(0);
//set the date and time
suggestedDateObj.set({
day: tmoment1.day(),
month: tmoment1.month(),
year: tmoment1.year(),
hour: tmoment1.hour(),
minute: tmoment1.minute(),
second: 0
});
【问题讨论】:
标签: fullcalendar momentjs