0

在我的 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())

但我不想以任何方式操纵数据。我想按原样获取日期。

任何帮助将不胜感激。

4

1 回答 1

0

这是我使用的一种方法,但我不使用 nullable 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 日输入的东西,那么可以很安全地猜测它们没有日期。毕竟:每个人都有新年假期,对吧?:)

于 2013-05-17T15:41:25.707 回答