如何从DateTimeOffset对象中选择UTC偏移量?
技术问答
204 人阅读
|
0 人回复
|
2023-09-12
|
我目前正在使用:0 i% C' [% F% j$ C
SELECT DATEPART(TZ,SYSDATETIMEOFFSET())然而,它在几分钟内返回偏移量。我想保留它’-05:00’而不是’-300’的格式8 t O9 u e/ x1 }2 }
谢谢你。3 x; X" m8 F6 d
; v5 S% p- L& {' K8 K( W; ~* `
解决方案:
5 g$ r1 u8 j' d! P 如果要在datetimeoffset在变量的末尾提取准确的字符串 -05:00可以使用SQL Server字符串操作。我认为不能使用内置的SQL
' D0 h0 ]% b8 x' S- ?: v) ]DateTime执行此操作的函数。您可以使用它CAST我相信它默认为函数ISO 8601格式:
8 I( F, {8 t( K) k; `1 V" ~ Sdeclare @timeStr nvarchar(50) = CAST(SYSDATETIMEOFFSET() as nvarchar(50))select right(@timeStr,6)若要更清楚,可采用126格式类型CONVERT明确告诉函数SQL Server使用ISO 8601:( \. Q2 {# p s( G* E6 X6 F" m
declare @timeStr nvarchar(50) = CONVERT(nvarchar(50),SYSDATETIMEOFFSET(),126)select right(@timeStr,6)在我所在的时区,这两种方法都了:
- V6 q$ f1 o9 U3 R-06:00有关CAST和CONVERT更多信息,请参见此处。 |
|
|
|
|
|