TimeSpan.解析时间格式 hhmmss
在 C# 中,我的时间格式为 hhmmss,例如 12:45:10 的 124510,我需要知道 TotalSeconds。我使用了 TimeSpan.Parse("12:45:10").ToTalSeconds 但它不采用 hhmmss 格式。有什么好的方法可以转换这个吗?
in c# i have time in format hhmmss like 124510 for 12:45:10 and i need to know the the TotalSeconds. i used the TimeSpan.Parse("12:45:10").ToTalSeconds but it does'nt take the format hhmmss. Any nice way to convert this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
这可能会有所帮助,
请注意,这不会处理 24 小时时间,要解析 24 小时格式的时间,您应该使用模式 HHmmss。
This might help
Note this will not handle 24HR times, to parse times in 24HR format you should use the pattern HHmmss.
将字符串解析为 DateTime 值,然后减去它的 Date 值以获得 TimeSpan 形式的时间:
Parse the string to a DateTime value, then subtract it's Date value to get the time as a TimeSpan:
您必须决定接收时间格式并将其转换为任何一致的格式。
然后,您可以使用以下代码:
格式:hh:mm:ss(12 小时格式)
格式:HH:mm:ss(24 小时格式)
如果是格式不匹配,将抛出 FormatException 并显示消息:“字符串未被识别为有效的日期时间。”
You have to decide the receiving time format and convert it to any consistent format.
Then, you can use following code:
Format: hh:mm:ss (12 Hours Format)
Format: HH:mm:ss (24 Hours Format)
In case of format mismatch, FormatException will be thrown with message: "String was not recognized as a valid DateTime."
您需要转义冒号(或其他分隔符),出于什么原因它无法处理它们,我不知道。请参阅 MSDN 上的 自定义 TimeSpan 格式字符串,以及接受的答案,来自Jon,为什么 TimeSpan.ParseExact 不起作用。
You need to escape the colons (or other separators), for what reason it can't handle them, I don't know. See Custom TimeSpan Format Strings on MSDN, and the accepted answer, from Jon, to Why does TimeSpan.ParseExact not work.
如果您还想使用像“01:02:10.055”这样的格式的毫秒,那么您可以执行以下操作;
此代码将为您提供相应的秒数。
请注意,如果您想调整精度点,可以增加“f”的数量。
In case you want to work with also milliseconds like this format "01:02:10.055" then you may do as following;
This code will give you corresponding seconds.
Note that you may increase the number of 'f's if you want to adjust precision points.
如果您可以保证字符串始终为 hhmmss,您可以执行以下操作:
If you can guarantee that the string will always be hhmmss, you could do something like: