问题描述
我需要将数据写入C#应用程序中的sql Server表中。表中时间戳字段的数据类型为DateTimeOffset,在我的应用程序中,我可以将时间戳作为本地DateTime对象或UTC DateTime对象获取。如何将这些时间戳转换为DateTimeOffset并包括本地时区的偏移信息?我的意思是说,我不希望DateTimeOffset对象的UTC时间和偏移量为0:00,而是希望始终包含本地时区的偏移量。
编辑:看起来像从new DateTimeOffset(value.Timestamp.LocalTime)
这样的本地时间戳创建一个DateTimeOffset对象似乎很好,但是我不了解DST时间更改发生时怎么可能。当我在DST更改前后打印出两个本地DateTime对象时,得到以下结果:
// Before DST change
value.Timestamp.LocalTime
{25.10.2020 02:00:00}
Date: {25.10.2020 00:00:00}
Day: 25
DayOfWeek: Sunday
DayOfYear: 299
Hour: 2
Kind: Local
Millisecond: 0
Minute: 0
Month: 10
Second: 0
Ticks: 637391880000000000
TimeOfDay: {02:00:00}
Year: 2020
// After DST change
value.Timestamp.LocalTime
{25.10.2020 02:00:00}
Date: {25.10.2020 00:00:00}
Day: 25
DayOfWeek: Sunday
DayOfYear: 299
Hour: 2
Kind: Local
Millisecond: 0
Minute: 0
Month: 10
Second: 0
Ticks: 637391880000000000
TimeOfDay: {02:00:00}
Year: 2020
这些DateTime对象似乎是相同的,但是当我查看写入数据库的数据时,我看到了:
这怎么可能?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)