字符串到时间格式(无日期)

时间:2013-09-21 11:23:20

标签: c# datetime

我有string,其值 16:00:00 我想将其转换为时间格式hh:mm:ss .. 我不想要约会

TimeSpan.ParseExact(splitLine[6], "hh:mm:ss", null);抛出的错误是system.time无法转换为system.date时间

DateTime.ParseExact(splitLine[6], "hh:mm:ss", CultureInfo.InvariantCulture);返回日期时间,自动添加今天的日期。

我只想要时间格式。

请帮帮我。

3 个答案:

答案 0 :(得分:2)

来自MSDN

  

ParseExact方法使用由指定的文化约定   仅当format是标准TimeSpan时,formatProvider参数   格式字符串,其值为“g”或“G”。 “c”,“t”和“T”   标准格式字符串使用的格式约定   不变的文化。自定义格式字符串定义了精确的格式   输入字符串并使用文字字符来分隔组件   时间间隔。

然后,您可以使用它来实现您的目标。

TimeSpan.ParseExact(splitLine[6], "T", CultureInfo.InvariantCulture);

答案 1 :(得分:0)

下面的代码怎么样?它对我来说很好。

string time = "16:00:00";
TimeSpan.Parse(time);

答案 2 :(得分:0)

使用Custom TimeSpan Format Strings,你必须逃避冒号等分隔符,例如:

TimeSpan.ParseExact(splitLine[6], "hh':'mm':'ss", null)

或:

TimeSpan.ParseExact(splitLine[6], @"hh\:mm\:ss", null)

请注意,这与DateTime格式字符串不同,其中某些分隔符(如冒号:)具有特殊含义,而其他分隔符(如句号.)没有任何意义但不具有需要逃脱。