public static DateTime ObjectToDateTime(object o, DateTime defaultValue){                if (o == null) return defaultValue;    DateTime dt;    if (DateTime.TryParse(o.ToString(), out dt))        return dt;    else        return defaultValue;}The code feels too wordy and smells bad.  Is there a better way?
Convert Object to a DateTime
c#;datetime;converting
On the offhand chance that your object is already a DateTime, you're performing unnecessary conversions to and from strings. if (o is DateTime)     return (DateTime)o;This also strikes me as something you might be doing for a database item, for example. In which case, I'd encourage you to know and trust your data types and then use existing methods of retrieval. For example, if you have a DataTable with a column CreatedDate, you should know it's a date, what you might not know is if it has a value if the column is nullable at the database. That's fine, you can handle that in code.  var createdDate = row.Field<DateTime?>(CreatedDate); There we go, a DateTime?, no coding of a conversion necessary. You can even specify a default and type if to DateTime var createdDate = row.Field<DateTime?>(CreatedDate).GetValueOrDefault(DateTime.Now); var createdDate = row.Field<DateTime?>(CreatedDate) ?? DateTime.Now;