将Typescript Date属性作为Web Api 2.0方法

时间:2018-02-22 14:24:04

标签: c# typescript datetime angular5 asp.net-core-webapi

我在html中有一个日期选择器,它绑定到员工的Date属性。

例如:我已选择日期为&#34;星期二2018年2月22日00:00:00 GMT + 0530(印度标准时间)&#34;。这是我登录控制台时获得的值。< / p>

但是当我尝试在C#中调试时,值会发生变化。 {21-02-2018 18:30:00}

如何处理或使用typescript日期对象,将其传递给API方法并将其显示回来

我的打字稿模型

export class Visitor {
    public id: number;
    public firstname: string;
    public lastname: string;
    public dob: Date;
    public genderId: number;
    public age: number;
}

和C#模型

 public class Visitor
    {
        public int Id { get; set; }

        public string Lastname { get; set; }
        public string Firstname { get; set; }
        public int Age { get; set; }


        public DateTime DOB { get; set; }
}

enter image description here

2 个答案:

答案 0 :(得分:0)

只要您传递有效的 she moved on before she could be asked 对象,就可以了。

您的问题可能在于您在.NET端的文化设置。 你能否在控制器动作中尝试这样做:

Date

由于您没有提供代码,这只是猜测。

答案 1 :(得分:0)

在控制台中打印时,浏览器会根据您的情况在当地时区打印日期。在服务器上检索值时,C#将以UTC格式处理日期。这就是为什么你看到5.30小时的差异。印度时间为UTC + 5.30小时。

如果要在服务器端以UTC格式存储日期值,则使用诸如momentjs之类的库将date对象的值从客户端转换为UTC。 从服务器检索值时,从服务器发送UTC值并使用诸如momentjs之类的库将其转换为本地时区。我认为这个策略会起作用。