Cur*_*ite 3 sql asp.net datetime
我正在写博客,想在东部时区展示我的帖子.我认为存储所有UTC都是正确的方法.这会带来一些挑战:
我必须将所有时间从UTC转换为东部.这不是一个大问题,但增加了很多代码.
而"biggie"就是我通过传递一个查询ala blogger来使用短日期时间来引用这些帖子.问题是没有办法将短日期时间转换为正确的UTC日期,因为我缺少发布的时间信息.
嗯,在东部时间存储所有日期有什么问题吗?这肯定会使应用程序的其余部分更容易,但如果我需要更改时区,一切都将存储错误.
更新
@Jon,非常重视您的专业知识,但我已经决定在数据库中存储UTC时间是错误的.不过你可能会说服我!
所以,让我给你一个完整的瘦身.我将所有时间都转换为UTC,这需要在代码的声明部分中添加更多"语法".
我正在编码的是一个博客,所以我有2条路线,一条列表路线和一条细节路线.详细信息路径需要较短的日期,并且帖子的名称假设组合为唯一.这就是它崩溃的原因.我在查询中传递短路线.
根据时间的不同,我们可以将它包裹起来,使其为29或30.所以短日期必须正确,因为我在查询中没有足够的信息来确定如何将东部时间转换回UTC.
我存储了一个DatePosted"短日期",所有时间都是@ 12 AM用于SQL目的和FirstModified长日期.所以,我说,没问题,我只会将短日期存储在东部,然后将长日期转换为东部.不行,因为我无法使这些查询工作.
所以,我认为我错了.日期应始终存储在东部时间(我想要使用的时间).然后,如果用户想要更改时区(不是要求),我们只需浏览所有条目并进行更改.
也许,我正在考虑这个错误,但在我的情况下,只会使用东部时区,所以无论如何都浪费时间.
期待对此有任何意见!
关键问题:
再次感谢您的帮助!
将时间从UTC转换为东部时间不应添加"大量代码".它应该是一个单行.
我不确定你的第二点是什么意思 - 如果你详细说明它会有所帮助.如果您不知道所涉及的时区,您怎么能理解查询?如果您在东部时间有效地假设它,那么您可以进行适当的UTC转换.
在整个地方使用当地时间通常是一个坏主意.如果你只涉及一个时区,那就不算太糟糕了,但是如果你想要使用其他时区,那就太可怕了.(这不仅仅是批量更新数据库的问题 - 它将是在整个应用程序中检查每一次使用日期的情况.)
转到UTC选项,IMO.
| 归档时间: |
|
| 查看次数: |
649 次 |
| 最近记录: |