DateTimeOffset 如何处理夏令时?

2024-06-28

我将日程表以星期几、小时和分钟的形式存储在数据库中。当数据被读取时,我们创建一个DateTime对象下一次出现的那一天、一小时和一分钟,但我需要修改它以使其能够感知 DST。如有必要,我可以修改数据库。

我知道DateTimeOffset存储 UTC 日期/时间和偏移量。我也知道从这个 MSDN 博客条目 http://blogs.msdn.com/b/bclteam/archive/2010/11/28/time-travel-with-net-or-datetime-datetimeoffset-and-the-lost-dst-hour-greg.aspx that DateTimeOffset应用于“使用夏令时”。

我很难理解的是DateTimeOffset“使用夏令时的工作”。我的理解(几乎没有)是,夏令时是一项政治决定,不能纯粹从偏移中推断出来。如果这个结构只存储偏移量而不存储指定的时区或国家/地区,那么它怎么可能是 DST 友好的呢?


DateTimeOffset本身并不真正了解夏令时,但是TimeZoneInfo is. A DateTimeOffset代表一个固定的时刻 - 所以你得到to a DateTimeOffset通过时区感知的东西。换句话说,如果我要求DateTimeOffset现在在英国,我最终会得到与 UTC 相差 +1 小时的结果。如果我要求一个DateTimeOffset12 月在英国的某个时候,我最终得到的结果与 UTC 的偏移量为 0 小时。

如果您更改数据库以包含偏移量and你创建了DateTimeOffset从用户选择的DateTime(应该是“未指定”的类型)和他们的时区,那么考虑到夏令时,这应该会给你正确的偏移量。

但需要注意的一件事是:如果我现在安排“两年时间”的某件事,并且您现在确定偏移量,则该偏移量may将来不正确 - 例如,政府可能会在 DST 应用时进行更改,显然这不会改变数据库中存储的内容。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

DateTimeOffset 如何处理夏令时? 的相关文章

随机推荐

  • ng-grid cellTemplate 不适用于包含的 CUSTOM_FILTERS

    当在列定义中包含 cellTemplate 时 如果该 cellTemplate 包含 CUSTOM FILTERS 则会导致 Angular 呕吐 错误 语法错误 标记 CUSTOM FILTERS 是从 CUSTOM FILTERS 开
  • Matlab交换

    我正在尝试创建一个函数 将矩阵中的特定数字与同一矩阵中的特定数字交换 例如 如果我从 A 1 2 3 1 3 2 开始 我希望能够创建 B 2 1 3 2 3 1 只需告诉 matlab 将 1 与 2 交换即可 任何意见 将不胜感激 谢谢
  • Air 2 ServerSocket跨域问题

    我希望通过 ServerSocket 类创建一个 Air 2 服务器 您将在下面的代码中找到有关它的示例 限制条件 服务器必须在空中 客户端必须通过网络浏览器显示 客户端使用Web浏览器显示 因此当客户端想要与Air服务器建立连接时 Fla
  • backbone.js 集合未正确删除视图中的项目

    在视图中 我在从模型内的集合中删除项目时遇到一些问题 基本上模型 集合结构如下 基本上 当我尝试从子项目视图中的子项目集合中删除项目时 它实际上会从集合中删除正确的项目 然而 当我坚持主模型时 该项目似乎仍在集合中 这就是我的观点的结构 主
  • 尽管已成功,但由于“实例不可用”,GAE 推迟了任务重试

    在我们的 GAE 应用程序中 我们偶尔会在延迟任务中看到 TombstonedTaskError 错误 因为命名任务使用相同的名称多次提交 尽管延迟任务的第一次执行成功 但 GAE 似乎偶尔会自动重新提交这些任务 一个例子可以在这个日志截图
  • 重写的方法仍然被调用

    我正在使用一个正在实现的库belongs to数据库中两个条目之间的关联 由于这不是我需要的行为 我想通过重写此方法prepend 但 pry 告诉我 原来的方法仍然被调用 我仔细检查了一下 我使用的是 ruby 2 0 前置的代码 mod
  • 结构化流式自定义重复数据删除

    我有一个从 kafka 进入 dataFrame 的流数据 我想根据 Id 删除重复项并根据时间戳保留最新记录 样本数据是这样的 Id Name count timestamp 1 Vikas 20 2018 09 19T10 10 10
  • 在 Rails 中捕获 UTM 参数

    我正在尝试捕获 URL 中的 UTM 参数 以将源 营销活动等添加到用户帐户 可悲的是 我似乎不知道如何捕获这些参数 据我所知 我正在关注博客文章http www matthuggins com articles tracking new
  • 如何以 dp 值设置 Layoutparams 高度/宽度?

    我尝试在按钮中手动设置高度 宽度 但它不起作用 然后实现Layoutparams 但尺寸显示很小并且没有获得所需的 dp 值 XML
  • 如何检测 itextSharp 中的表开头?

    我正在尝试将 pdf 转换为 csv 文件 pdf 文件具有表格格式的数据 第一行作为标题 我已经达到了可以从单元格中提取文本 比较表格中文本的基线并检测换行符的水平 但我需要比较表格边框来检测表格的开头 我不知道如何检测和比较 PDF 中
  • Html 电子邮件对齐文本和图像

    I m having trouble aligning an image with text The problem only occurs in outlook 03 07 10 See this picture to get a bet
  • Spring Boot / Kafka Json 反序列化 - 可信包

    我刚刚开始将 Kafka 与 Spring Boot 一起使用 并且想要发送和使用 JSON 对象 当我尝试使用 Kafka 主题中的消息时 出现以下错误 org apache kafka common errors Serializati
  • “在文件中查找”的替代方法

    我已经按照建议解决了 在文件中查找不是 问题here https stackoverflow com questions 4795443 visual studio 2010 find in files not finding files并
  • 从文件中删除字符

    如何删除文件中的任意字符 而不是用某些字符替换 include
  • 将隐藏的 DIV 保存为画布图像

    我使用以下代码将可见内容保存为图像 html2canvas document querySelector specific onrendered function canvas theCanvas canvas Canvas2Image s
  • 使 WTForms 从数据库模型设置字段标签

    我有三张桌子 成分 属性 and 属性值 每个组件可以有多个属性值 Each 属性值属于一个属性 是的 这就是可怕的 EAV 模式 我创建了这两种形式 class AttributeValueForm Form attribute Hidd
  • 如何使文本框上的自动完成功能在空时显示建议

    我在文本框 实际上是 ToolStripTextBox 上使用 AutoComplete 属性 这工作正常 只是直到我至少输入一个字符才显示 即使文本框为空 如何才能显示建议 Mode Suggest Source CustomSource
  • 如何在 dbplyr 中使用自定义 SQL 函数?

    我想计算数据库中的 Jaro Winkler 字符串距离 如果我将数据带入 R 使用collect 我可以轻松地使用stringdist函数从stringdist包裹 但我的数据非常大 我想过滤 Jaro Winkler 距离before将
  • 在 Ruby 中使用 `module_function` 定义模块函数与使用 `self.` 定义它相同吗?

    正在定义一个模块函数module function与定义它相同self 在鲁比 也就是说 它们是否都会导致实例方法和模块方法的创建 No module M1 def self foo end end module M2 module fun
  • DateTimeOffset 如何处理夏令时?

    我将日程表以星期几 小时和分钟的形式存储在数据库中 当数据被读取时 我们创建一个DateTime对象下一次出现的那一天 一小时和一分钟 但我需要修改它以使其能够感知 DST 如有必要 我可以修改数据库 我知道DateTimeOffset存储