C# 自定义时间格式

C# 自定义时间格式,c#,format,timespan,C#,Format,Timespan,减法二次格式 string _time_One = "08:30" ; string _time_Two = "08:35" ; string _timeInterval = ( DateTime.Parse(_time_One) - DateTime.Parse(_time_Two) ).Minutes.ToString(); 它给我结果5,但我想显示喜欢这种格式00:05。 请告诉我如何格式化它。提前谢谢 减去两个DateTime会得到一个TimeSpan,它使用ToString方法具有

减法二次格式

string _time_One = "08:30" ;
string _time_Two = "08:35" ;

string _timeInterval = ( DateTime.Parse(_time_One) - DateTime.Parse(_time_Two) ).Minutes.ToString();
它给我结果5,但我想显示喜欢这种格式00:05。 请告诉我如何格式化它。提前谢谢

减去两个DateTime会得到一个TimeSpan,它使用ToString方法具有自己的格式支持

例如:

DateTime now = DateTime.Now;
DateTime later = now.AddMinutes(10);
TimeSpan span = later - now;

string result = span.ToString(@"hh\:mm");

您可以在这里阅读更多内容。

@Lloyd就在这里,但为了澄清您的案例:

string _time_One = "08:30" ;
string _time_Two = "08:35" ;

TimeSpan ts = DateTime.Parse(_time_One) - DateTime.Parse(_time_Two);
MessageBox.Show(String.Format("Time: {0:00}:{1:00}", ts.Hours, ts.Minutes));
我希望这有帮助

string _time_One = "08:30";
string _time_Two = "08:35";

string _timeInterval = (DateTime.Parse(_time_One) - DateTime.Parse(_time_Two)).Duration().ToString();
结果=>00:05:00

尝试以下方法:

string _time_One = "08:30";
string _time_Two = "08:35";
var span = (DateTime.Parse(_time_One) - DateTime.Parse(_time_Two));
string _timeInterval = string.Format("{0:hh\\:mm}", span);

仅供参考:。

请表明您了解问题以及您试图解决的问题。看,可能重复的@LIoyd,你测试过你的代码了吗?输入字符串的格式不正确。@zey测试,那是什么?:P我忘了逃出:,现在修好了。