c# - 将日期时间存储在天蓝色表存储中
问题描述
我正在使用默认示例将日期时间值存储在表存储中。一字段计算如下
DateTime accMonth = new DateTime(DateTime.Now.Year,
DateTime.Now.Month, 1);
通常上面是指时间为 00:00 的日期。
但是,当我将其保存在表存储中时,我认为这次是
2018-04-01T18:30:00.000Z
这对我来说看起来很奇怪!有谁知道为什么?
解决方案
您获得了不同的值,因为您正在使用本地时区创建日期/时间(印度是 GMT+5:30)。在 Azure 存储中,日期/时间值保存为 UTC。
SDK 正在做的是将此日期转换为 UTC,然后保存该日期。这就是为什么您会在您设置的日期/时间值之前 5:30 看到一个日期/时间值。
要解决此问题,请将日期/时间类型指定为 UTC。然后 SDK 不会做任何转换。所以你的代码是:
var accMonth = new DateTime(DateTime.Now.Year,
DateTime.Now.Month, 1, 0, 0, 0, DateTimeKind.Utc);
推荐阅读
- node.js - 使用关联对批量插入进行续集
- python - 使用键和值转换字典中的字典列表
- r - 对值“关闭和打开”的行进行子集化
- java - Hive 3.1.2 UDAF 在 Spark 3.0.0 中不起作用
- c++ - 为什么微不足道的复制/移动可构造性取决于微不足道的可破坏性?
- php - 如何调用 d.multicall2
- firebase - 如何将 IndexedDB 与 Firestore 同步?
- xml - 将 XML 解组为结构时的空结果
- git - 如何在 Jenkins 多分支管道中参数化 Git URL?
- javascript - 如何在页面加载时在输入框中加载值 - JS