c# - 为什么 .net 在分配给日期字段时将此日期解释为前一天?

标签 c# .net vb.net datetime

我从 API 读取的日期格式如下:

2010-03-15T00:00:00-04:00

在 C#/VB.net 中分配给日期数据类型时,它显示为:

3/14/2010 11:00:00 PM //Note 3/15 is being displayed as 3/14

为什么显示为前一天?上面的格式有名称吗?

最佳答案

您显示的日期在 UTC 中而当您进行转换时,它会针对本地时区调整 DateTime 实例。

您应该可以调用 ToUniversalTime method获取 UTC 格式的日期。

如果您需要输入本地时区文字形式的时间,则需要使用日期数据(年、月、日等)或通过一系列调用来创建一个新的 DateTime 实例SpecifyKind method指示 DateTime 实例是本地时区还是 UTC。

关于c# - 为什么 .net 在分配给日期字段时将此日期解释为前一天?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2376759/

相关文章:

c# - 使用 Triple DES 时的加密数据大小

c# - 如何提高该算法的性能?

asp.net - 在 Web 和非 Web 应用程序之间共享 HttpContext 代码

c# - 在C#中使用TPL在生产者-消费者模式中进行异常处理

c# - 带参数的 .NET 5 路由

c# - 依赖注入(inject)——如果依赖生命周期比依赖对象短怎么办?

sql - 如何使用 VB 将回车符放入 SQL 语句的字段中?

vb.net - 如何有效地使Windows Media Player静音?

c# - 从代码中静音系统

c# - 我在统一复制门时遇到问题