2014-07-21 53 views
0

我已经使用“datetime-local”输入从用户获取开始日期和结束日期,以便将其放入本机日历。这是我的代码来获取和格式化“日期时间 - 本地”:使用moment.js尝试在本机IOS日历中创建事件

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点进行投放,则会在7/21/2014创建一个全天事件。

这里是一个JSFiddle

+0

如果你碰巧使用cordova/angular,你可以使用这个API来管理你的日历在iOS或Android上:http://ngcordova.com/docs/#Calendar –

回答

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。但是,由于您发送的是相同的开始时间和结束时间,因此可能将其解释为整天的事件。我相信修复这个错字将会解决这个问题。

+0

我改变了它,它仍然说它是一个全部一天的活动。我会继续检查一些东西。非常感谢您的帮助。 – Giddswindle

+0

这一切工作!再次感谢 – Giddswindle