从XML文件中获取DateTime的确切格式

时间:2013-05-17 15:31:18

标签: c#

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

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

非常感谢任何帮助。

1 个答案:

答案 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日输入的内容。毕竟:每个人都有新年假期,对吗? :)