使用TimeSpan.ParseExact()方法将字符串解析为TimeSpan

时间:2014-01-30 04:46:17

标签: c# parsing timespan

我想根据我的自定义文化解析字符串。 我的格式为ShortTimePattern为HH:ss

示例代码:

static void Main(string[] args)
{
    CultureInfo c = new CultureInfo("en");
    c.DateTimeFormat.ShortTimePattern = "HH:ss";
    TimeSpan result = TimeSpan.ParseExact("07:55", "t", c, TimeSpanStyles.None);
    Console.WriteLine(result);
    Console.Read();

    //result = TimeSpan.ParseExact(ConvertToString(value, culture), "t", culture);
}

但现在的问题是我得到了

hours = 07
minutes = 55
seconds = 00

我想要的地方

hours = 07
minutes = 00
seconds = 55

指定文化中的格式

1 个答案:

答案 0 :(得分:1)

根据MSDN(TimeSpan.ParseExact Method (String, String, IFormatProvider, TimeSpanStyles)):

  

c”,“t”和“T”标准格式字符串使用不变文化的格式约定。

这就是你得到那种输出的原因。

你为什么不这样做:

TimeSpan result = TimeSpan.ParseExact("07:55", "hh':'ss", null);