c# – AM / PM到TimeSpan

前端之家收集整理的这篇文章主要介绍了c# – AM / PM到TimeSpan前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想要实现 this的相反,也就是说,我想将格式为hh:mm tt的字符串转换为零秒的TimeSpan.

例如,09:45 pm转换为21:45:00.

解决方法

最简单的方法可能是使用DateTime.ParseExact将其解析为DateTime,然后使用 TimeOfDay来确定TimeSpan.
DateTime dateTime = DateTime.ParseExact(text,"hh:mm tt",CultureInfo.InvariantCulture);
TimeSpan span = dateTime.TimeOfDay;

当您还指定了一个am / pm指示符时,可能会在几个小时内看到前导0.您可能希望在格式字符串中使用“h”而不是“hh”,以允许“9:45 pm”而不是“09:45 pm”.

(我也认为这是一个奇怪的使用TimeSpan的第一名,但是.NET日期/时间类型在我的看法有点混乱,我建议使用Noda Time,但我有偏见:)

猜你在找的C#相关文章