首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将日期时间转换为双c#

如何将日期时间转换为双c#
EN

Stack Overflow用户
提问于 2019-10-16 16:13:47
回答 2查看 669关注 0票数 0

我试图在C#中将日期和时间值从JSON字符串转换为double,但我始终得到以下错误。

下面是我正在尝试调试的代码。

代码语言:javascript
运行
复制
 DateTime baseDate = DateTime.SpecifyKind(DateTime.Parse("1970-01-01"), DateTimeKind.Utc);
 docRoot.scheduleDate = baseDate.AddSeconds((double)docRoot.scheduleDate);

我明白这个错误是什么意思,但我一直很难找到解决办法。我试过下面的方法,但没有成功。

  1. docRoot.scheduleDate转换为字符串,然后尝试使用Convert.ToDouble(stringScheduleDate)将字符串转换为double。这里唯一的问题是docRoot.scheduleDate中的特殊字符("10/10/2019 08:29:30")导致格式错误。

我相信,如果我删除特殊字符,我会解决这个问题。但我想知道是否有一种不同的方法来克服这个例外呢?

在我看来,转换成字符串然后删除特殊字符似乎有点效率低下,所以如果有人愿意提供一些其他想法,我非常感激。

EN

回答 2

Stack Overflow用户

发布于 2019-10-16 16:21:21

你应该可以很容易地让蜱数加倍:

代码语言:javascript
运行
复制
docRoot.scheduleDate = baseDate.AddSeconds((double)docRoot.scheduleDate.Second);

我刚刚意识到这是一个add秒方法,这样会更好

也值得注意。OADate内部也使用一个私有InternalTicks属性。所以这也会引起问题。

票数 0
EN

Stack Overflow用户

发布于 2019-10-16 16:22:48

使用DateTime.ToOADate获取https://learn.microsoft.com/en-us/dotnet/api/system.datetime.tooadate的十进制表示,DateTime.FromOADate反序列化。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58417631

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档