【问题标题】:What is the best way to handle DateTime in a Web Application?在 Web 应用程序中处理 DateTime 的最佳方法是什么?
【发布时间】:2017-01-14 14:15:30
【问题描述】:

我一直在研究如何在 Web 应用程序中正确存储和保存日期和时间,但我找不到有明确答案的帖子。

我有一个 ASP.NET MVC 网站,我使用 C# 作为后端代码,使用 MS SQL 作为数据库,假设你有不同时区的不同客户端,目前我通过 DateTime.UtcNow 存储 DateTime,我只是显示它返回“YYYY/MM/DD”格式。

【问题讨论】:

    标签: c# asp.net sql-server datetime


    【解决方案1】:

    您真正需要做的就是确保应用程序服务器和数据库服务器共享相同的时间设置并保持同步。

    IIS、.NET 和 SQL Server 默认都使用系统时间。

    不同时区的客户端仍然会使用它们所连接的 IIS 服务器的系统时间。大多数网站只是在客户端将日期格式化到客户端区域。

    如果你想变得花哨,你可以编写处理事务时间戳的数据库触发器。如果您进行大量后端处理,这会派上用场。

    【讨论】:

    • 所以你是说只要应用服务器和数据库服务器是同步的,那么我就不用对我的代码做任何改变?
    • 顺便说一句,我正在使用 Azure 来托管我的应用程序和数据库
    • @jmaghuyop 是的,这是相当标准的做法。您是否遇到与时区相关的特定问题?
    • @jmaghuyop 如果您使用的是 Azure,则无需更改任何内容。
    • 到目前为止,我们的应用程序遇到了时差,一个例子是客户今天购买了一件产品,我使用 DateTime.UTCNOW 保存了购买的日期,当我在报告中显示它时它显示为昨天。
    猜你喜欢
    • 1970-01-01
    • 2020-06-19
    • 1970-01-01
    • 2013-07-06
    • 1970-01-01
    • 2018-07-09
    • 2013-05-20
    • 1970-01-01
    • 2011-07-03
    相关资源
    最近更新 更多