使用moment.js尝试在本机IOS日历中创建事件

时间:2014-07-21 16:58:14

标签: javascript html5 datetime input momentjs

我使用了" 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:00 o时钟作为开始日期,然后在2014年7月22日的1:00 o时钟,它将在7日创建一整天的活动/ 21/2014

这是JSFiddle

1 个答案:

答案 0 :(得分:3)

您似乎有拼写错误。通过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。但是,由于您发送相同的开始和结束时间,因此它可能会将其解释为全天事件。我相信修复错字会解决问题。