将z附加到BST是否使其成为UTC?

时间:2019-06-18 17:43:55

标签: c# asp.net datetime timezone utc

从用户界面的BST时区输入日期(例如03/02/2016 00:00)。以相同的(03/02/2016 00:00)BST保存在DB中。在生成的响应中,日期发送为2016-02-03T00:00:00Z(哪种格式?)。由于附加了Z,是否意味着我们正在从BST转换为UTC?请解释。

1 个答案:

答案 0 :(得分:2)

几件事:

  • BST can refer to“英国夏令时”(UTC + 1),“孟加拉国标准时间”(UTC + 6)或“布干维尔标准时间”(UTC + 11)中的任何一个。对于此答案的其余部分,我假设您是第一个。

  • 2016年,英国从GMT(UTC + 0)转换为BST(UTC + 1)on March 27th。因此,在您提供的日期(2月3日), BST无效

  • 根据您提供的值,无法判断是否正在尝试进行转换,因为该日期的本地时间恰好是UTC的零时。如果您用夏季中的某个日期进行测试,并且发现结果值比输入值少一小时,那么实际上是在转换为UTC。

  • ZISO 8601RFC 3339格式的UTC指示符。附加它表示给定的值将按照UTC进行解释。如果您的值确实采用UTC,则Z正确存在。如果实际上是要将您的值解释为伦敦当地时间,那么您应该附加偏移量(即使它为零)。例如:

    • 2016-02-03T00:00:00+00:00(GMT)
    • 2016-04-01T00:00:00+01:00(BST)