在ASP.NET MVC剃须刀应用程序中将Datetime C#类型转换为Date javascript

Lam*_*fif 1 .net javascript c# asp.net-mvc jquery

我在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
                    }
                        ]

                });
            });
Run Code Online (Sandbox Code Playgroud)

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

 $(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 ) }
                          }
                        ]

                });
            });
Run Code Online (Sandbox Code Playgroud)

日期格式存在语法错误。

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

Vas*_*sky 5

您可以使用此解决方案

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


kri*_*gar 2

我仍然支持 FosterZ,但你也应该摆脱它+

所以而不是

start: new Date(@m.Begin_date.Year +"," + @m.Begin_date.Month +","+ @m.Begin_date.Day ) ,
Run Code Online (Sandbox Code Playgroud)

尝试

start: new Date(@m.Begin_date.Year , @m.Begin_date.Month , @m.Begin_date.Day ) ,
Run Code Online (Sandbox Code Playgroud)

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