在我的C#代碼中,我有一個DateTime?
變量。從數據庫獲取值時,它可以是null
或可以有一些日期/時間值。比較Nullable DateTime變量的默認值
在前端我不想得到默認值(01-01-1900 12:00:00 am)。什麼是比較我的日期變量爲這個默認日期的最佳方式?
在我的C#代碼中,我有一個DateTime?
變量。從數據庫獲取值時,它可以是null
或可以有一些日期/時間值。比較Nullable DateTime變量的默認值
在前端我不想得到默認值(01-01-1900 12:00:00 am)。什麼是比較我的日期變量爲這個默認日期的最佳方式?
您可以創建一個const:
static readonly DateTime DefaultDateTime = new DateTime(1900, 1, 1, 0, 0, 0);
,然後比較這方式:
DateTime? myVariable = returnedFromDb == DefaultDateTime ? default(DateTime?) : returnedFromDb;
是的,我正是這樣做的。 –
你可以有一個擴展方法,像這樣:
public static class DateTimeExtensions
{
static DateTime SQL_DEFAULT = new DateTime(1900, 1, 1);
public static bool IsDefaultValue(this DateTime dateTime)
{
return dateTime == SQL_DEFAULT;
}
}
然後只需測試該值:
var isDefault = myDate.IsDefaultValue();
你的數據庫是否真的爲你的列存儲'null'? – mauris
如果值爲空,否則數據庫不存儲「01-01-1900」。 –
也許你應該將數據庫存儲爲空而不是「01-01-1900」? –