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

如何将日期时间转换为双c#,c#,json,datetime,type-conversion,double,C#,Json,Datetime,Type Conversion,Double,我试图将日期和时间值从JSON字符串转换为C#中的双精度值,但一直出现以下错误。 下面是我试图调试的代码 DateTime baseDate = DateTime.SpecifyKind(DateTime.Parse("1970-01-01"), DateTimeKind.Utc); docRoot.scheduleDate = baseDate.AddSeconds((double)docRoot.scheduleDate); 我理解错误的意思,但我一直很难找到解决办法。我尝试过下面的

我试图将日期和时间值从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”)中的特殊字符导致格式错误
  • 我相信,如果我删除特殊字符,我会解决这个问题。但我想知道是否有不同的方法来克服这个异常


    在我看来,转换为字符串然后删除特殊字符似乎有点低效,因此,如果有人愿意提供一些其他想法,我非常感谢。

    您应该能够非常轻松地将刻度加倍:

    docRoot.scheduleDate = baseDate.AddSeconds((double)docRoot.scheduleDate.Second);
    

    我刚刚意识到这是一个add seconds方法,使用DateTime.toadate可以根据和
    DateTime.FromOADate
    获得十进制表示形式来反序列化。我尝试了上述方法,并且“Newtonsoft.Json.Linq.JValue”没有包含“Ticks”异常的定义。这是令人困惑的,因为我认为docRoot.scheduleDate由于其格式而被识别为DateTime对象。@hfires是的,在解析为DateTime后在docRoot上?我是这样解析的:DateTime NewsScheduleDate=Convert.ToDateTime(docRoot.scheduleDate),然后尝试docRoot.scheduleDate=baseDate.AddSeconds((双精度)newScheduleDate.Seconds);但是我发现了一个语法错误,我发现了。它应该是newScheduleDate.Second(不是Seconds)。谢谢你的帮助@我不明白这是怎么回事
    DateTime
    有一个
    Second
    属性,范围从
    0
    59
    TimeSpan
    具有
    Seconds
    属性,但其范围为
    -59
    59
    。我猜您可能关心的是大于该范围的值。如果你能澄清你的问题(见我上面的评论),这会有所帮助。谢谢,你好。我很乐意帮忙,但不清楚你在问什么。哪里有JSON解析?我看不到您共享的代码中有任何内容。JSON本身中的示例值是什么样的?只是JSON包含Unix时间戳吗?如果是这样,您是如何将
    scheduleDate
    转换为
    DateTime
    的呢?请考虑修改你的问题。谢谢