c# - ASP.NET DateTime 无法正确转换

标签 c# asp.net datetime

我这里有这个日期:

DateTime RelevantDate = new DateTime(2017, 11, 13, 16, 0, 0, 0);

            request.RelevantDate = Convert.ToDateTime(RelevantDate.ToString("o"));

我期待:

2017-11-13T16:00:00-05:00

相反,我得到:

2017-11-13T16:00:00

这确实需要采用这种格式:2017-11-13T16:00:00-05:00,我该怎么做? request.RelevantDate 期待 DateTime

如果我这样做:

request.RelevantDate = Convert.ToDateTime(DateTime.Now.ToString("o"));

它给了我正确的格式:

2017-11-08T06:43:39-05:00

最佳答案

如果您使用此构造函数创建 DateTime,则其 Kind 属性为 Unspecified,即它既不是本地时间也不是 UTC。

DateTime.Now 返回带有 DateTimeKind.Local 的对象,这就是将时区添加到 .ToString("o") 的输出中的原因

您可以使用另一个构造函数,您可以在其中明确地将类型设置为 Local,例如新的 DateTime(2017, 11, 13, 16, 0, 0, 0, DateTimeKind.Local)

这样,时区将出现在 .ToString("o") 的输出中。

关于c# - ASP.NET DateTime 无法正确转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47178818/

相关文章:

c# - Entity Framework 适合大量实体吗?

c# - 为什么我会收到空​​引用异常?

ASP.Net ListView 按数据字段分组?

python - 解析python中可以有多种格式的日期

c# - 如何制作限时网页?

c# - 添加自定义分析器时,CompletionSuggester停止工作。 NEST C#

c# - 缺少 Novacode 命名空间

javascript - Internet Explorer 将 e.which 显示为未定义

c# - 处理您的请求时发生错误。请求 ID : 0HLEALBF2I2PS:00000007

java - 将字符串转换为本地日期