2014-01-02 08:18:21""
我正在从excel文件中读取此列,但我需要将""
删除为有效日期,这是我的代码,请提供建议。
n.RBank_Authorizer_date = DateTime.Parse(dRow[4].ToString()>TrimEnd);
答案 0 :(得分:1)
您可以使用TrimEnd
的重载params char[]
:
str = str.TrimEnd('"');
或使用您的代码:
n.RBank_Authorizer_date = DateTime.Parse(dRow[4].ToString().TrimEnd('"'));
请注意,如果字段可以为null,则dRow[4].ToString()
可以抛出异常。我会使用支持可空类型的强类型DatRow.Field
extension method。
n.RBank_Authorizer_date = DateTime.Parse(dRow.Field<string>(4).TrimEnd('"'));
顺便说一下,如果DataRow
已将此日期时间存储为DateTime
,则您根本不需要将其转换为字符串并返回DateTime。您只需使用Field
的正确类型。
答案 1 :(得分:0)
您始终可以使用字符串中的Replacemethod:
var dateString = dRow[4].ToString().Replace("\"", "");
不应该使用“ToString”,但是如果你得到的东西不同于字符串:)
答案 2 :(得分:0)
作为替代方案,如果您的所有行都以""
结尾,则可以在custom date and time format中指定,并可以使用DateTime.ParseExact
方法;
string s = @"2014-01-02 08:18:21""";
var dt = DateTime.ParseExact(s, @"yyyy-MM-dd HH:mm:ss'""'",
CultureInfo.InvariantCulture);
Console.WriteLine(dt);