日期:2014-05-17  浏览次数:20422 次

DateTime空值时的处理方法
RT  

我现在都是自己加if判断,不知道有没有好的处理方法

------解决方案--------------------
我是,写个公用的转换datetime的方法 TRY CATCH 一下
------解决方案--------------------
C# code
DateTime test = new DateTime();
                string date = test == null ? string.Empty : test.ToShortDateString();

------解决方案--------------------
你的需求是什么呢?插入到数据库?可以在数据库赋初始值
------解决方案--------------------
DateTime不可能为null和空
DateTime dt= new DateTime();
其实是有值的。是0001年1月1日
------解决方案--------------------
C# code

 public static DateTime GetDateTime(object obj)
        {
            if (obj != null)
            {
                DateTime i_ret;
                if (DateTime.TryParse(obj.ToString(), out i_ret))
                {
                    return i_ret;
                }
                else
                {
                    return DateTime.MinValue;
                }
            }
            else
            {
                return DateTime.MinValue;
            }
        }

------解决方案--------------------
探讨
C# code


public static DateTime GetDateTime(object obj)
{
if (obj != null)
{
DateTime i_ret;
if (DateTime.TryParse(obj.ToStrin……

------解决方案--------------------
//声明可空类型
DateTime ? dt=DateTime.Now;
Console.Write(dt??DateTime.Now);//若dt为null则输出DateTime.Now
------解决方案--------------------
DBNull试一试。这个代表数据库的空记录。至于你怎么利用还得看你自己
------解决方案--------------------
给一个默认值,比喻2199/1/1,
取数据拿默认值判断,为这个就显示空(写个公用方法),
以后条件什么判断都不会出错误。
------解决方案--------------------
探讨
C# code
DateTime test = new DateTime();
string date = test == null ? string.Empty : test.ToShortDateString();

------解决方案--------------------
DateTime ? dt=DateTime.Now;
Console.Write(dt??DateTime.Now);//若dt为null则输出DateTime.Now