2014-07-21 60 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