当前位置 : 主页 > 网络编程 > ASP >

asp.net – 在数据库中存储日期时间?

来源:互联网 收集:自由互联 发布时间:2021-06-24
我正在写博客,想在东部时区展示我的帖子.我认为存储所有UTC都是正确的方法.这会带来一些挑战: 我必须将所有时间从UTC转换为东部.这不是一个大问题,但增加了很多代码. 而“biggie”
我正在写博客,想在东部时区展示我的帖子.我认为存储所有UTC都是正确的方法.这会带来一些挑战:

>我必须将所有时间从UTC转换为东部.这不是一个大问题,但增加了很多代码.
>而“biggie”就是我通过传递查询,ala博客来使用短日期时间来引用帖子.问题是没有办法将短日期时间转换为正确的UTC日期,因为我缺少发布的时间信息.

嗯,在东部时间存储所有日期有什么问题吗?这肯定会使应用程序的其余部分更容易,但如果我需要更改时区,则所有内容都将存储错误.

更新

@Jon,非常重视您的专业知识,但我已经决定在数据库中存储UTC时间是错误的.不过你可能会说服我!

所以,让我给你一个完整的瘦身.我将所有时间都转换为UTC,这需要在代码的声明部分中添加更多“语法”.

我正在编码的是一个博客,所以我有2条路线,一条列表路线和一条细节路线.详细信息路径需要较短的日期,并且帖子的名称假设组合为唯一.这就是它崩溃的原因.我在查询中传递短路线.

根据时间的不同,我们可以将它包裹起来,使其为29或30.所以短日期必须正确,因为我在查询中没有足够的信息来确定如何将东部时间转换回UTC.

我存储了一个DatePosted“短日期”,所有时间都是@ 12 AM用于SQL目的和FirstModified长日期.所以,我说,没问题,我只会将短日期存储在东部,然后将长日期转换为东部.不行,因为我无法使这些查询工作.

所以,我认为我错了.日期应始终存储在东部时间(我想要使用的时间).然后,如果用户想要更改时区(不是要求),我们只需浏览所有条目并进行更改.

也许,我正在考虑这个错误,但在我的情况下,只会使用东部时区,所以无论如何都浪费时间.

期待对此有任何意见!

关键问题:

>我在查询中传递了一个短日期.如果这个短日期是UTC,那么查询中的日期可能会被关闭1.如果我将短日期作为东方传递,那么我将需要一个linq-to-sql语法,可以转换为SQL,这将允许我比较日期不同时区的时间.

再次感谢您的帮助!

它只是一个博客,而不是世界各地办事处使用的商业网络应用程序,所以我说继续使用东部时间.

如果您曾更改时区,并希望显示新时区,则一个SQL更新语句可以始终更新到新区域.

网友评论