5

我在 javascript 中转换日期时遇到问题。我试试这个片段:

$(document).ready(function () {
            var date = new Date();
            var d = date.getDate();
            var m = date.getMonth();
            var y = date.getFullYear();

            $('#calendar').fullCalendar({
                theme: true,
                header: {left: 'prev,next today',center: 'title',right: 'month,agendaWeek,agendaDay'},
                editable: true,
                events: [
                            {
                    title: 'Birthday Party',
                    start: new Date(y, m, d+1, 19, 0),
                    end: new Date(y, m, d+1, 22, 30),
                    allDay: false
                    }
                        ]

                });
            });

它可以工作,但是如果我将其更改为:

 $(document).ready(function () {
            var date = new Date();
            var d = date.getDate();
            var m = date.getMonth();
            var y = date.getFullYear();

            $('#calendar').fullCalendar({
                theme: true,
                header: {left: 'prev,next today',center: 'title',right: 'month,agendaWeek,agendaDay'},
                editable: true,
                events: [
                         @foreach (var m in Model.Get_List_Tache())
                          {
                        @:{ title: "Tache_description", start: new Date(@m.Begin_date.Year +"," + @m.Begin_date.Month +","+ @m.Begin_date.Day ) , end: new Date( @m.End_date.Year +"," +@m.End_date.Month +"," + @m.End_date.Day ) }
                          }
                        ]

                });
            });

日期格式存在语法错误。

那么这个错误的原因是什么?我该如何解决?

4

3 回答 3

8

您可以使用此解决方案

start: new Date(@m.Begin_date.ToString("yyyy,MM-1,dd"))

于 2014-11-18T21:14:41.137 回答
2

我还在 FosterZ,但你也应该摆脱它+

所以而不是

start: new Date(@m.Begin_date.Year +"," + @m.Begin_date.Month +","+ @m.Begin_date.Day ) ,

尝试

start: new Date(@m.Begin_date.Year , @m.Begin_date.Month , @m.Begin_date.Day ) ,

如果这仍然不起作用,请查看页面的源代码,并查看那里的 Javascript 中放入了什么。它很可能不是你所期望的。如果您无法弄清楚,请将其添加到您的问题中,我们可以看一下。

于 2013-07-16T13:50:04.580 回答
0

您可以只使用 c# 的 DateTime.ToLongDateString() 并将其传递给 JavaScript 中 Date 对象的构造函数,只要您希望日期保持不变即可。

 start: new Date(@m.Begin_date.ToLongDateString());
于 2018-06-05T14:47:06.770 回答