我在 c# 中的数据表中插入记录,其中日期时间的转换给 em 额外的 5 小时。
DateTime.ParseExact("2020-02-19T15:28:36.207Z", "yyyy-MM-ddTHH:mm:ss.fffZ", CultureInfo.InvariantCulture);
Run Code Online (Sandbox Code Playgroud)
这给了我 8:28 pm 而不是 3:28 pm 这是来自 c# 的响应
{2/19/2020 8:28:36 PM}
Date: {2/19/2020 12:00:00 AM}
Day: 19
DayOfWeek: Wednesday
DayOfYear: 50
Hour: 20
Kind: Local
Millisecond: 207
Minute: 28
Month: 2
Second: 36
Ticks: 637177409162070000
TimeOfDay: {20:28:36.2070000}
Year: 2020```
Run Code Online (Sandbox Code Playgroud)
它正在转换为当地时间。如果指定DateTimeStyles.AdjustToUniversal为最后一个参数,你会用一个值结束Kind的Universal和下午3:28的时间:
var result = DateTime.ParseExact(
"2020-02-19T15:28:36.207Z",
"yyyy-MM-ddTHH:mm:ss.fffZ",
CultureInfo.InvariantCulture,
DateTimeStyles.AdjustToUniversal);
Run Code Online (Sandbox Code Playgroud)
注意,枚举值的名称有点不幸在这里,因为你没有真正调整-你说你不想要的调整为本地时间。从文档:
如果输入字符串通过时区说明符或 AssumeUniversal 表示 UTC 时间,则不会发生转换。
| 归档时间: |
|
| 查看次数: |
356 次 |
| 最近记录: |