我怎么能将TimeZone字符串转换为TimeSpan,反之亦然?

时间:2011-12-13 14:44:28

标签: c# c#-4.0

我有以下字符串:

  

“+ 10:30”,“+ 04:50”,“ - 10:20”

是时区格式。我怎么能把它转换成TimeSpan,反之亦然?


我已经尝试过使用TimeSpan.Pars(..)但没有运气,不断获得例外。

3 个答案:

答案 0 :(得分:5)

使用此:

TimeSpan.Parse(yourTimeZoneString.TrimStart('+'));

这是TimeSpan.Parse()无法理解的'+'。如果您只修剪字符串中的前导'+',它将正常工作。

答案 1 :(得分:0)

解析前删除+符号。这对我有用:

var l = new List<string>(){"+10:30" , "+04:50" , "-10:20"};
foreach(var ts in l) {
    Console.WriteLine(TimeSpan.Parse(ts.Replace("+","")).ToString());
}

答案 2 :(得分:0)

您可以使用TimeSpan.Parse方法,它会接受您示例中的字符串值:http://msdn.microsoft.com/en-us/library/se73z7b9.aspx唯一的问题是我不确定它是否接受“+”符号,但是,它很容易删除它与String.Replace。