Man*_*kar 2 c# azure azure-storage azure-table-storage
我正在使用默认示例在表存储中存储日期时间值。一字段计算如下
DateTime accMonth = new DateTime(DateTime.Now.Year,
DateTime.Now.Month, 1);
Run Code Online (Sandbox Code Playgroud)
通常上面表示时间为 00:00 的日期。
但是,当我将其保存在表存储中时,我将这次视为
2018-04-01T18:30:00.000Z
Run Code Online (Sandbox Code Playgroud)
这对我来说很奇怪!有谁知道为什么?
您得到不同的值,因为您正在创建具有本地时区的日期/时间(印度是 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);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10138 次 |
| 最近记录: |