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)