在JavaScript中调用DateTime

时间:2014-01-17 20:02:11

标签: javascript visual-studio

我有以下JavaScript函数来确定给定的date是否是该月的最后一天:

function isLastDayOfMonth(date) {
    var parts = date.split(' ');
    var mo = parts[0];

    var month = parseInt(parts[0]);
    var day = parseInt(parts[1]);
    var year = parseInt(parts[2]);

    if (day == @DateTime.DaysInMonth(year, month)) {
        return true;
    }

    return false;
}

VisualStudio显示语法错误,在当前上下文中找不到yearmonth(在DaysInMonth的函数调用中。我尝试弄乱@ ,因为我不确定那是做什么,但无济于事.Visual Studio建议我启动DaysInMonth的参数为:year:然后我假设其他的东西,但我不确定是什么。有人可以帮忙吗?

3 个答案:

答案 0 :(得分:3)

@DateTime.DaysInMonth(year, month)是服务器端方法。 Javascript运行在客户端(在用户的浏览器上),因此两者无法以您尝试的方式直接进行交互。请尝试使用以下Javascript

//month is 0 index in javascript aka Jan = 0
if(day === new Date(year, month+1, 0).getDate())

方法上个月的日期:https://stackoverflow.com/a/222439/597419

答案 1 :(得分:1)

看来你在那里混合了asp .net MVC razor语法。你不能运行接收javascript参数的c#函数,因为它们现在只是字符串。

您可以使用剃须刀生成部分JavaScript代码,没关系。但剃须刀只是创建一个字符串发送给客户端。它不是实时的JavaScript代码。 javascript由浏览器中的javascript引擎解释。

答案 2 :(得分:0)

您是否偶然使用Date()对象?我不确定@DateTime等东西是什么,但我认为你想在javascript中使用Date()。