Reputation: 129
I have my Model:
[DataType(DataType.Date)]
public DateTime? Date1 { get; set; }
[DataType(DataType.Date)]
public DateTime? Date2 { get; set; }
[DataType(DataType.Date)]
public DateTime? Date3 { get; set; }
It's important for Data1 to Data3 to be DateTime?
My problem:
//Return right value
(model.Date1.ToString().AsDateTime().ToShortDateString() != "01.01.0001" ? model.Date1.ToString().AsDateTime().ToShortDateString() : "Is not known")
//Return bad value
(model.Date2.ToString().AsDateTime().ToShortDateString() != "01.01.0001" ? model.Date1.ToString().AsDateTime().ToShortDateString() : "Není známo")
//Return bad value
(model.Date3.ToString().AsDateTime().ToShortDateString() != "01.01.0001" ? model.Date3.ToString().AsDateTime().ToShortDateString() : "Is not known")
I dont know how or why but input is same but Date2
and Date3
returns bad value...
Thanks for any help
Upvotes: 3
Views: 194
Reputation: 1480
You can use the nullable types as follows.
model.Date1.HasValue ? model.Date1.Value.ToShortDateString() : "Unknown";
Upvotes: 3
Reputation: 12619
You can also compare with default
datetime value by model.Date1.GetValueOrDefault() != default(DateTime)
.
GetValueOrDefault
will return default
value if Date1
is null
.
model.Date1.GetValueOrDefault() != default(DateTime) ? model.Date1.Value.ToShortDateString() : "Unknown";
Upvotes: 1