0

我有一个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); 通过自动添加今天的日期返回日期时间。

我只想要时间格式。

请帮我。

4

3 回答 3

2

来自MSDN

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

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

TimeSpan.ParseExact(splitLine[6], "T", CultureInfo.InvariantCulture);
于 2013-09-21T11:27:13.307 回答
0

下面的代码呢。它对我来说很好。

string time = "16:00:00";
TimeSpan.Parse(time);
于 2013-09-21T11:35:32.033 回答
0

使用自定义 TimeSpan 格式字符串,您必须转义冒号等分隔符,例如:

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

或者:

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

请注意,这与DateTime格式字符串不同,其中某些定界符(例如冒号:)具有特殊含义,而另一些定界符(例如句点.)没有含义但不需要转义。

于 2013-09-21T11:50:03.677 回答