从XL文件中读取yyyy-mm-dd格式

时间:2014-09-14 04:17:33

标签: c# asp.net-mvc date datetime

我为XL" yyyy-mm-dd"添加了自定义单元格样式。当我读取数据表中的日期列时,我从C#应用程序中的XL文件读取数据,我可以看到它的其他格式" mm / dd / yyyy"但我想验证日期格式"" yyyy-mm-dd"

try
{
    DateTime.ParseExact(dataRow["ServiceDate"].ToString(), "yyyy-mm-dd", CultureInfo.InvariantCulture); //"2014-11-22"
}

catch
{
    //
}

但这不是每次都能发挥作用的时候

但我的日期格式正确,在XL文件" yyyy-mm-dd"我该如何解决这个问题:(

2 个答案:

答案 0 :(得分:2)

这应该有效:

Convert.ToDateTime(dataRow["ServiceDate"]).ToString("yyyy-mm-dd");

答案 1 :(得分:0)

使用DateTime.TryParse(string, out DateTime)可以抑制时间验证失败时的trowing异常。将它传递给if语句,它将返回true,如果解析正常,则将结果分配给第二个参数。否则返回false。如果验证结果正常,请使用日期时间对象的ToString(format)将其转换为您喜欢的格式。

DateTime formattedTime;

if (!DateTime.TryParse(dataRow["ServiceDate"], out formattedTime)) {
    // dataRow["ServiceDate"] is not a valid date may be throw an exception
}

formattedTime.ToString("yyyy-mm-dd"); // is your formatted time

DateTime.TryParse Docs