【发布时间】:2020-02-13 11:45:26
【问题描述】:
我正在尝试将日期和时间值从 JSON 字符串转换为 C# 中的双精度值,但我不断收到以下错误。
下面是我要调试的代码。
DateTime baseDate = DateTime.SpecifyKind(DateTime.Parse("1970-01-01"), DateTimeKind.Utc);
docRoot.scheduleDate = baseDate.AddSeconds((double)docRoot.scheduleDate);
我了解错误的含义,但我一直很难找到解决方法。我尝试了下面的方法,但没有成功。
- 将
docRoot.scheduleDate转换为字符串,然后尝试使用Convert.ToDouble(stringScheduleDate)将字符串转换为双精度。这里唯一的问题是docRoot.scheduleDate("10/10/2019 08:29:30") 中的特殊字符导致格式错误。
我相信,如果我删除特殊字符,我会解决问题。但我想知道是否有不同的方法来克服这个异常?
在我看来,转换为字符串然后删除特殊字符似乎效率低下,所以如果有人愿意贡献一些其他想法,我将不胜感激。
【问题讨论】:
-
嗨。很想帮忙,但不清楚你在问什么。 JSON解析在哪里?我在您共享的代码中看不到任何内容。 JSON 本身中的示例值是什么样的?仅仅是您的 JSON 包含 Unix 时间戳吗?如果是这样,您是如何将
scheduleDate变成DateTime的?请考虑将您的问题修改为a minimal, reproducible example。谢谢。
标签: c# json datetime type-conversion double