zoukankan      html  css  js  c++  java
  • C# 无法将类型Newtonsoft.Linq.JToken 隐式转换为System.Datetime?

    前言

    今天,前台页面传JSON字符串,后台接口以JObject接收数据。发现,在日期转换的过程中出现以下问题:

    该字符串未被识别为有效的 DateTime。
    

    产生错误原因

    查看代码,发现,在实体类中日期类型是可空的。同时,前台传给后台的日期是也是空的。导致后台使用Convert.ToDateTime()进行转换时,出现以上的问题。

    实体:

    public Datetime? mdate { get; set;}
    

    后台转换:

    md.mdate=Convert.ToDateTime(data["mdate"]);
    
    

    解法方案

    写一个方法去判断日期类型的方法。代码如下:

    public DateTime? GetDate(string mdata) {
      if (!string.IsNullOrEmpty(mdata))
      {
         return Convert.ToDateTime(mdata);
      }
      return null;
    }
    

    每次转换之前对日期进行判断即可;

    md.mdate=GetDate(data["mdate"].ToString());
    
    
  • 相关阅读:
    线程
    链表
    String 练习
    23种设计模式
    静态方法
    ASCII码及UTF-8概义
    java语法基础
    二进制、八进制、十进制、十六进制之间转换
    数组概意
    java程序安装 配置环境变量
  • 原文地址:https://www.cnblogs.com/ZengJiaLin/p/14620898.html
Copyright © 2011-2022 走看看