zoukankan      html  css  js  c++  java
  • C# string转换成DateTime?(字符串转换成可空日期类型)

    【转载】

    作者:十有三

    出处:http://shiyousan.com/post/ca4a6413-ecb4-4237-baf6-e88e616d18fc

    PS:此文主要讲述的是可空日期类型和字符串之间的转换,正常类型转换看这篇文章:字符串string类型转换成DateTime类型

    最近项目中遇到以前一直困扰的问题,就是如何将string转换成DateTime?这种可空日期类型。以前总是通过编写一堆逻辑代码来进行转换,但是写这些代码感觉非常繁琐。后在网上浏览相关资料,使用NullableConverter类就可以轻松的进行转换。

    以下是测试的部分代码,代码在控制台应用程序中运行:

    /* 测试string类型转换成DateTime?类型*/ 
    /*NullableConverter类构造函数必须传入要转换的类型*/
    
    System.ComponentModel.NullableConverter nullableDateTime = new System.ComponentModel.NullableConverter(typeof(DateTime?));
    
    /*
    *正常日期格式字符串转换为DateTime?
    */
    string strDate = DateTime.Now.ToString();
    DateTime? dt1=(DateTime?)nullableDateTime.ConvertFromString(strDate);
    Console.WriteLine("正常日期格式字符串转换成DateTime?:{0}", dt1);
    
    /*
    *字符串为空白转换为DateTime?
    */
    strDate = string.Empty;
    DateTime? dt2 = (DateTime?)nullableDateTime.ConvertFromString(strDate);
    Console.WriteLine("空白字符串转换成DateTime?:{0}", dt2);
    
    /*
    *字符串为NULL转换为DateTime?
    */
    strDate = null;
    DateTime? dt3 = (DateTime?)nullableDateTime.ConvertFromString(strDate);
    Console.WriteLine("NULL字符串转换成DateTime?:{0}", dt3); 
    Console.Read();

    输出的结果是:

                        正常日期格式字符串转换成DateTime?:2013/11/5 15:49:16

                        空白字符串转换成DateTime?;

                        NULL字符串转换成DateTime?;

    总结果上看可以顺利将空字符串和正常的字符串转换成DateTime?类型,但是如果传入非法的日期格式的字符串会报错,需要另外处理。

    NullableConverter类主要提供可空类型与其基础基元类型间的自动转换。关于NullableConverter类的具体说明,可在网络上找到大量的资料,这里就不再叙述。这里是MSDN的描述:http://msdn.microsoft.com/zh-cn/library/system.componentmodel.nullableconverter(v=vs.85).aspx

  • 相关阅读:
    debug 调试Windows service服务调试
    Windows Service 创建 发布
    SQL Server 触发器
    c# core api 配置redis
    Core Api 搭建Swagger
    c# core api 自定义特性
    本地iis配置;,NET系统本地发布发布 通过配置路由器可以实现公网访问
    c# 线程的几种实现方式
    c# Thread.Sleep();
    2019创建 core api 加配置swagger
  • 原文地址:https://www.cnblogs.com/LILING3/p/7242184.html
Copyright © 2011-2022 走看看