Sql server XML中的Datetime字段在通过SSIS存储到数据库中时由于某种原因增加了一个小时

Sql server XML中的Datetime字段在通过SSIS存储到数据库中时由于某种原因增加了一个小时,sql-server,xml,datetime,ssis,xsd,Sql Server,Xml,Datetime,Ssis,Xsd,我有一个正在拉入的XML,它有datetime字段: <startTime>2015-11-01T00:00:00-05:00</startTime> <endTime>2015-12-01T00:00:00-05:00</endTime> 这只会发生在使用2015年11月1日作为起始日期时,我假设这是因为DST的更改是在11月1日,使时间倒退(我在东部时区),但如果有任何影响,它应该在凌晨2:00影响事情,减去一个小时,而不是加上 如果有人能帮

我有一个正在拉入的XML,它有datetime字段:

<startTime>2015-11-01T00:00:00-05:00</startTime>
<endTime>2015-12-01T00:00:00-05:00</endTime>
这只会发生在使用2015年11月1日作为起始日期时,我假设这是因为DST的更改是在11月1日,使时间倒退(我在东部时区),但如果有任何影响,它应该在凌晨2:00影响事情,减去一个小时,而不是加上


如果有人能帮我弄清楚为什么会这样,我将不胜感激。谢谢

所以,事实证明根本没有问题——我觉得自己太愚蠢了

我在加拿大东部时区,那里实行夏令时制度。在夏季,时钟向前移动一小时,偏移量变为GMT-04:00。在冬季,时钟向后调整一小时,偏移量变为GMT-05:00

传入的文件已将开始时间和结束时间指定为:

<startTime>2015-11-01T00:00:00-05:00</startTime>
<endTime>2015-12-01T00:00:00-05:00</endTime>
2015-11-01T00:00:00-05:00
2015-12-01T00:00:00-05:00
然而,DST直到11月1日凌晨2点才结束。因此,startTime的偏移量实际上应该是:

2015-11-01T00:00:00-04:00


午夜时分,开始时间仍然遵循夏季时间表,以节省时间(因此抵消了-4:00)。endTime在时间更改之后,因此偏移量被正确指定为-05:00。

SQL列类型是日期,不是吗?此外,是否可以知道使用哪个库将xml数据放入数据库?可能@sergioFC列是datetime。我不是使用基于代码的库来导入,而是使用SSI。XML源组件用于获取文件,然后完成某些转换步骤(不涉及startDate字段),然后通过OleDB目标组件加载。除了加载步骤之前的一些合并和排序操作外,与以下链接类似:据我所知,dateTime类型不包含有关时区的信息(dateTimeOffset类型包含)。在
2015-11-01T00:00:00-05:00
0时区的DST已经完成。可能时间被错误地转换为
05:00:00-00:00
,而不是
04:00:00-00:00
,然后作为数字存储在数据库中,当它显示在本地时区时,小时值为01。我希望知道显示的值(
2015-11-01 01:00:00.000
)是否可以引用到两个不同的时刻,因为
01:00
“发生了两次”。我不是SQL和时间方面的专家,但我很困惑,所以我要悬赏。你的时区是什么?在SSIS过程中是否正确设置了它?如果你能设置它,改变它会有什么不同吗?
2015-11-01 01:00:00.000
<startTime>2015-11-01T00:00:00-05:00</startTime>
<endTime>2015-12-01T00:00:00-05:00</endTime>