时间:2010-07-23 19:55:45

标签: c# asp.net datetime

3 个答案:

答案 0 :(得分:2)

答案 1 :(得分:0)

我认为kekekela的答案是正确的,但由于不必要的重复,它似乎效率低下。我建议:

 DateTime date;
 EnumerableRowCollection<DataRow> query = 

 from order in _table.AsEnumerable()
 select 
   new {
        OrderDate = 
          !DateTime.TryParse(Convert.ToString(
              order.Field<DateTime>("OrderDate")), out date)
          ? String.Empty : date.ToShortDateString()
       }

这里的关键是TryParse不会抛出null或为空。

答案 2 :(得分:0)

这是一个更简洁的答案。

var badDate = DateTime.Parse("01/01/1999");
var query = 
    from order in _table.AsEnumerable()
    select new {
        OrderDate = (order.Field<DateTime>("OrderDate").Date == badDate.Date) ? String.Empty : date.ToShortDateString()
    };

注意:无法存储&#34; 00/00/1999&#34;作为关系数据库中的时间类型。我想你的意思是&#34; 01/01/1999&#34;成为哨兵价值。