在我的XML中,我有一个日期值,如下所示:
[CDATA[07/07/1980]]
我执行以下操作来检索日期:
public static DateTime? GetDateTimeValue(string dateTimeString)
{
DateTime i;
if ((dataTimeString != null) && (dataTimeString.Value.Trim() != ""))
if (DateTime.TryParse(dateTimeString, out i))
return i;
return null;
}
我得到的值是07/07/1980 12:00:00 AM
。
我可以做以下事情:
DatdTime.TryParse(dateTimeString.ToShortDateString())
但我不想以任何方式操纵数据。我想按原样得到日期。
非常感谢任何帮助。
答案 0 :(得分:0)
这是我使用的方法,但我不使用可空的DateTime
。
private static DateTime nodate = new DateTime(1900, 1, 1);
public static DateTime NODATE { get { return nodate; } }
public static DateTime GetDate(object obj) {
if ((obj != null) && (obj != DBNull.Value)) { // Databases return DBNull.Value
try {
return Convert.ToDateTime(obj);
} catch (Exception) { }
try {
return DateTime.Parse(obj.ToString());
} catch (Exception) { }
}
return NODATE;
}
我不能总是使用TryParse
因为我的很多代码必须是Compact Framework安全的。
如果出现任何问题,我会在我的日期字段中看到我的NODATE值(1900年1月1日)。可以非常安全地猜测我的大多数数据库程序都没有日期,如果他们试图显示它们在1900年1月1日输入的内容。毕竟:每个人都有新年假期,对吗? :)