【发布时间】:2015-03-07 22:08:56
【问题描述】:
我正在尝试存储在工具中设置的会议的日期、时间和时区。我允许用户指定日期和时间以及从时区列表中选择。
我的问题是试图弄清楚如何获取所有 3 个部分并将其格式化为正确的 datetimeoffset 进行存储。
我相信这是 SQL Server 对datetimeoffset 需要的格式:
YYYY-MM-DD hh:mm:ss[.nnnnnnn] [{+|-}hh:mm]
我的第一个问题是我的时区下拉列表的值应该是什么?
其次,SQL Server 中是否有内置方法来传递此数据字符串并将其转换为datetimeoffset 所需的格式?
【问题讨论】:
-
日期的格式为 no。它们是二进制值。格式仅在转换/解析字符串时适用。使用参数化查询和 datetimeoffset 类型的参数,您根本不需要解析
-
太棒了,所以现在我只需要弄清楚如何生成带有偏移值的时区列表;谢谢!
-
@SBB DateTimeOffset 仅包括偏移量,不包括时区。除了 Windows(操作系统)之外的每个人都使用
tzData数据库。查看 Jon Skeet 的 NodaTime 库,它处理时区、偏移量并包含 tzdata -
这就是我的意思,我将向用户展示一个时区列表,但该值将是偏移量,它将结合日期和时间使用以提供
datetimeoffset,对吗?
标签: sql-server tsql date datetime