C# 字符串仅为时间格式(无日期)

C# 字符串仅为时间格式(无日期),c#,datetime,C#,Datetime,我有一个字符串,其值为16:00:00我想将其转换为时间格式hh:mm:ss我不想约会 TimeSpan.ParseExact(拆分行[6],“hh:mm:ss”,null)引发错误,system.time无法转换为system.date time DateTime.ParseExact(splitLine[6],“hh:mm:ss”,CultureInfo.InvariantCulture)返回日期时间并自动添加今天的日期 我只想要时间格式 请帮助我。来自: ParseExact方法使用由指定

我有一个
字符串
,其值为16:00:00我想将其转换为时间格式hh:mm:ss我不想约会

TimeSpan.ParseExact(拆分行[6],“hh:mm:ss”,null)引发错误,system.time无法转换为system.date time

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

我只想要时间格式

请帮助我。

来自:

ParseExact方法使用由指定的区域性约定 仅当format是标准时间跨度时,formatProvider参数才有效 格式化值为“g”或“g”的字符串。“c”、“t”和“t” 标准格式字符串使用 不变文化。自定义格式字符串定义了文件的精确格式 输入字符串,并使用文字字符分隔组件 指一段时间间隔

然后,你可以用它来实现你的目标

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

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

string time = "16:00:00";
TimeSpan.Parse(time);
使用时,必须转义分隔符,例如冒号:

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


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

如果您至少访问过此网站,您一定已经了解了它。去那里学习基础知识吧!如果你愿意有点冒险精神,你可以放弃.Net标准的日期/时间对象,使用更好的东西:Noda time Use可以使用DateTime.ParseExact(splitLine[6],“HH:mm:ss”,CultureInfo.InvariantCulture)。TimeOfDay或者按照@Hamlet Hakobyan TimeSpan.ParseExact(splitLine[6],“T”,CultureInfo.InvariantCulture)的答案进行操作;关于
TimeSpan.Parse(“160:00:00”)
?OP特别告诉我们字符串是16:00:00。这就是为什么我添加了这个最简单的方法。还要记住,即使这里不需要它,也可以通过使用。
TimeSpan.ParseExact(splitLine[6], @"hh\:mm\:ss", null)