如果使用DateTime.UtcNow的计算机上的日期错误,则日期错误



我想将产品的发布日期添加到数据库中。我使用的是DateTime.UtcNow,但如果电脑上的日期不正确,它会显示错误的日期。我该如何解决这个问题?

我在"product"表中有"prodpostDate"列,它的类型是nvarchar。

DateTime aDate = DateTime.UtcNow;
item.prodpostDate= aDate.ToString("dddd, dd MMMM yyyy");
_context.Products.Add(item);
日期没有错。日期正是它应该是的。当你调用Now函数时,它会从执行代码的计算机中提取日期和时间。如果计算机上的日期错误,您需要更新/更改时区。

对以下评论进行扩展:

如果您想要日期和时间,而不管用户的本地设置如何,则无法从他们的本地计算机获取日期和时间——如果您从客户端上运行的代码中调用Now函数,就会发生这种情况。你需要调用不同的源来获取它。如果你使用的是API,你可以从你的客户端调用它来获取当前的日期和时间。更好的是,如果你最终向服务器发送了更新请求,只需不发送日期时间,让服务器获取并填充它。或者,如果你正在进行数据库更新,让数据库获取更新/插入的日期时间。

最新更新