【发布时间】:2018-02-10 06:05:38
【问题描述】:
我有一个名为 appointment 的对象,它有两个属性:StartDate 和 EndDate。
当我发出POST 请求时,我使用ISOString 时间发送这些值。
this.appointment.StartDate.toISOString()
在服务器端,我收到了这些具有正确值的属性。此外,当我创建model 以便将appointment 保存到数据库时,这似乎是正确的。我用.ToUniversalTime()方法。
var newAppointment = new Appointment()
{
StartDate =Convert.ToDateTime(model.StartDate).ToUniversalTime(),
EndDate = Convert.ToDateTime(model.EndDate).ToUniversalTime(),
SpecialityId = speciality.Id,
LocationId = location.Id,
PatientId = patient.Id,
UserId = user.Id,
Observations = model.Observations
};
但在数据库中我发现了另一个值。可以解释一下为什么会这样吗?
例如,我将2017.09.01 11:00 用于StartDate,在数据库中我找到了2017-09-01 08:00
服务器和数据库位于westeurope。
【问题讨论】:
-
还有什么价值?您能否添加一个具体的示例,Angular 中的值是什么,您发送的 JSON 中的值是什么样的,以及实际存储在数据库中的值是什么?
-
@Alexandru-IonutMihai 我想我的客户端也有类似的问题,问题来自数据库服务器的日期时间集。由于我们的时间和设置为服务器的时间之间存在差距,我们总是保存 datetime + 2 小时。
-
@GünterZöchbauer,现在看看。
-
对不起,但对我来说,从您的代码中仍然很不清楚该值在什么时候在您的应用程序的哪个部分看起来到底是什么样的。 Angular 的第一个值是来自 C# 吗? UTC 通常在末尾有一个
Z。 -
@GünterZöchbauer,在
c#我收到与angular相同的值
标签: javascript c# angular typescript timezone