我正在为我的应用程序使用 ASP.NET MVC/ASP.NET Web API 后端。当用户更新数据时,时间记录如下:
public HttpResponseMessage PutContent(int id, Content content)
{
if (id != content.ContentId)
{
return Request.CreateResponse(HttpStatusCode.BadRequest);
}
try
{
content.ModifiedDate = DateTime.Now;
content.ModifiedBy = User.Identity.GetUserId();
_uow.Contents.Update(content);
_uow.Commit();
return Request.CreateResponse(HttpStatusCode.OK, content);
}
catch (Exception ex)
{
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex);
}
}
当用户查看修改时间时,他们会看到我假设的服务器时间。有没有办法让他们看到所做更改的本地时间?
请注意,我已经做了一些格式化,但我不确定是否有一种方法可以转换日期并将其与可能位于任何位置的本地用户相匹配:
<input disabled="disabled" type="text"
value="{{modal.data.modifiedDate | date:'MM/dd/yy HH:mm'}}" />
请您参考如下方法:
首先,最好以 UTC 格式保存服务器上的日期。因此,在服务器上使用方法 DateTime.UtcNow
。
在将数据发送到客户端时,如果您没有自定义日期格式,我相信发送的日期也包含时区信息。 AngularJS 可以使用 date
过滤器正确处理该问题。看到这个 fiddle http://jsfiddle.net/jHSLe/1/