我为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"我该如何解决这个问题:(
答案 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