Azure表存储日期时间与UTC和本地时差的比较

时间:2016-06-03 22:15:22

标签: azure storage utc localtime

我正在尝试在azure表存储上存储和检索三个日期时间列。 开始日期,结束日期和上次执行日期。

我有另一个第四列叫做timeIntervalInMinutes。 我的代码执行将在可能位于美国任何区域的Azure上进行。

我将使用这些值根据当前时间执行某些任务:

  1. 开始日期> =当前日期< =结束日期
  2. 当前时间=上次执行日期(时间)+ intervalInMinutes
  3. 我很少有疑问:

    1. 用户将从他们的应用程序,从任何时区US调用此工作服务。我是否需要在他们的请求中获取他们的时区并将其与日期时间一起存储,日期时间将以UTC格式存储在表存储中?
    2. 如果是,那么如果用户尝试检索此配置信息,我应该根据UTC转换为本地时间转换吗?
    3. 我需要根据用户的本地时间执行自定义任务。因此,当转换为UTC并将其存储在azure表中时,我需要说UTC +或 - 以适应用户时区的当地时间?
    4. 请帮忙。

1 个答案:

答案 0 :(得分:1)

OP在评论中写道:

  

我通过添加具有DateTimeOffset类型的实体属性来解决这个问题,并创建了单独的字段,用于将UtcOffset时间跨度值保存为ticks(长类型)。有了这个,我可以比较UTC格式时间戳与UtcOffset值和日期以及我的调度程序的工作。因此,现在我可以轻松查询日期,以及使用他/她自己指定的本地时间检索并呈现用户。