Trimend(日期和时间)

时间:2014-04-28 10:56:14

标签: c#

2014-01-02 08:18:21""

我正在从excel文件中读取此列,但我需要将""删除为有效日期,这是我的代码,请提供建议。

n.RBank_Authorizer_date = DateTime.Parse(dRow[4].ToString()>TrimEnd);

3 个答案:

答案 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);