1

我正在使用触发日历模块,但是在 iOS 中调用以下代码时,它只会停止应用程序而没有任何反应——Android 上不会出现问题,但是日历中似乎没有正确输入日期:

var start = new Date(this.booking.startdatetime());
var end = new Date(this.booking.enddatetime());

forge.calendar.addEvent({
    title:"title",
    description:"description",
    start:start,
    end:end,
    allday:false
}, function () {            
    alert("Event added!");

}, function (content) {                    
    alert("error");

}
);

永远不会到达回调,尝试捕获任何异常也不会给出结果。new Date()但是,当它只是作为开始/结束传递时,它可以完美地工作。

我自己的开始/日期变量具有以下格式:

Sun Feb 03 2013 22:00:00 GMT+0100 (Mitteleuropäische Zeit)

它看起来一样new Date(),无论如何我猜这就是问题所在?

4

1 回答 1

2

问题来自我的一个日期字符串格式不正确 - 通过返回网络模式并检查 Chrome 中的对象发现了这一点...

无论如何,在那方面遇到更多麻烦之后,我现在需要像这样格式化我的日期:

            var start = moment(this.booking.startdatetime(), "YYYY-MM-DD HH-mm-ss").toDate();
            var end = moment(this.booking.enddatetime(), "YYYY-MM-DD HH-mm-ss").toDate();

这样做通常可以工作——唯一的问题是现在,当调用日历时,它有时会从日期对象中添加或减去一到两分钟。看似随意。

日志记录告诉我在通话之前日期仍然正确addEvent()- 关于为什么会发生这种情况或如何调试它的任何建议?

于 2013-02-05T18:17:43.710 回答