Huy Phan

Huy Phan

  • NA
  • 5
  • 658

How to parse this string to Datetime C#

Sep 18 2018 9:49 PM
Hi,
I have the following code:
  1. public DateTime? ParseDateTime(  
  2.     string dateToParse,  
  3.     string[] formats = null,  
  4.     IFormatProvider provider = null,  
  5.     DateTimeStyles styles = DateTimeStyles.AssumeLocal)  
  6. {  
  7.     string[] CUSTOM_DATE_FORMATS =  
  8.     {  
  9.         "yyyy-MM-ddTHH:mm:ss",  
  10.         "yyyy-MM-ddTHH:mm:ssz",  
  11.         "yyyy-MM-dd"  
  12.     };  
  13.   
  14.     if (formats == null)  
  15.     {  
  16.         formats = CUSTOM_DATE_FORMATS;  
  17.     }  
  18.   
  19.     foreach (var format in formats)  
  20.     {  
  21.         DateTime validDate;  
  22.         if (format.EndsWith("Z"))  
  23.         {  
  24.             if (DateTime.TryParseExact(dateToParse, format,  
  25.                 provider,  
  26.                 DateTimeStyles.AssumeUniversal,  
  27.                 out validDate))  
  28.             {  
  29.                 return validDate;  
  30.             }  
  31.         }  
  32.         else  
  33.         {  
  34.             if (DateTime.TryParseExact(dateToParse, format,  
  35.                 provider, styles, out validDate))  
  36.             {  
  37.                 return validDate;  
  38.             }  
  39.         }  
  40.     }  
  41.   
  42.     return null;  
  43. }  
Input: dateToParse = 2018-10-02T18:36:12
 
Output: null 
 
 So how to fix it?
Thank you. 

Answers (1)