如何使用Angular 6从此代码中的C#更改函数AddDays?

时间:2018-08-20 19:42:34

标签: javascript c# angular datetime

我在C#中有此代码:

public static DateTime FeriadosMoveis(int ano, string  feriado)
{
    DateTime data = DeterminarPascoa(ano);

    switch (feriado)
    {
        case "Carnaval":
            return data.AddDays(-47);
        case "Quarta":
            return data.AddDays(-46);
        case "SextaSanta":
            return data.AddDays(-2);
        case "CorpusChristi":
            return data.AddDays(60);
    }

    return data;
}

我需要使用Angular 6实现相同的代码,但Visual Studio Code指示AddDays方法出错。如何在Angular 6中实现相同的功能? :

export class FeriadosMoveisComponent implements OnInit {

constructor() { }

CalcularPascoa(ano: number, feriado: string) {
    let data: Date;
    switch (feriado)
    {
        case "Carnaval":
            return data.AddDays(-47);//carnaval é sempre 47 dias antes da pascoa
        case "Quarta":
            return data.AddDays(-46);
        case "SextaSanta":
            return data.AddDays(-2);
        case "CorpusChristi":
            return data.AddDays(60);
    }

    return data;
}

1 个答案:

答案 0 :(得分:0)

正如您对问题的评论所提到的,Angular是一个框架,它使用TypeScript作为一种编程语言,是JavaScript的超集。您的data对象是JavaScript Date对象,它没有AddDays方法。 JavaScript日期比C# DateTime对象更少的操作方法。我建议您使用moment.js之类的库,以便在执行日期算术时具有相同的易用性。