How to convert DateTime? to DateTime

前端 未结 11 2005
醉话见心
醉话见心 2020-12-07 15:17

I want to convert a nullable DateTime (DateTime?) to a DateTime, but I am getting an error:

Cannot implicitly convert type

相关标签:
11条回答
  • 2020-12-07 15:53

    Try this

    DateTime UpdatedTime = _objHotelPackageOrder.UpdatedDate ?? DateTime.Now;
    
    0 讨论(0)
  • 2020-12-07 15:55

    How about the following:

    DateTime UpdatedTime = _objHotelPackageOrder.UpdatedDate.HasValue ? _objHotelPackageOrder.UpdatedDate.value : DateTime.Now;
    
    0 讨论(0)
  • 2020-12-07 15:56

    MS already made a method for this, so you dont have to use the null coalescing operator. No difference in functionality, but it is easier for non-experts to get what is happening at a glance.

    DateTime updatedTime = _objHotelPackageOrder.UpdatedDate.GetValueOrDefault(DateTime.Now);
    
    0 讨论(0)
  • 2020-12-07 15:57

    You can also try Nullable(T) Properties:

    DateTime UpdatedTime = _objHotelPackageOrder.UpdatedDate.HasValue 
        ? DateTime.Now : _objHotelPackageOrder.UpdatedDate.Value;
    
    0 讨论(0)
  • 2020-12-07 16:01

    Here is a snippet I used within a Presenter filling a view with a Nullable Date/Time

    memDateLogin = m.memDateLogin ?? DateTime.MinValue
    
    0 讨论(0)
提交回复
热议问题