使用moment.js尝试在原生IOS日历中创建一个事件

Using moment.js trying to create an event in native IOS calendar

本文关键字:创建 事件 一个 日历 js moment IOS 原生 使用      更新时间:2023-09-26

我使用"datetime-local"输入从用户获取开始日期和结束日期,并将其放入本机日历中。这是我获取和格式化"datetime-local"的代码:

    var s = $("#startDate").val();
    var startDate = moment(s).toDate();
    var e = $("#endDate").val();
    var endDate = moment(s).toDate();

此代码接受正确的日期,但将时间设置为全天事件。例如,如果我输入2014年7月21日1点作为开始日期,然后输入2014年7月22日1点作为开始日期,它将在2014年7月21日创建一个全天事件。

这是一个JSFiddle

你好像打错了。通过e来构建endDate,而不是s

var s = $("#startDate").val();
var startDate = moment(s).toDate();
var e = $("#endDate").val();
var endDate = moment(e).toDate(); // <==== this line had used the wrong variable

或者,您可以直接调用这些内联的,以避免混淆:

var startDate = moment($("#startDate").val()).toDate();
var endDate = moment($("#endDate").val()).toDate();

至于为什么这会创建一个"全天事件"——我不能绝对确定,因为我不熟悉您使用的特定日历API。然而,由于您发送了相同的开始和结束时间,因此它可能将其解释为全天事件。我相信改正错字就能解决问题。