C#自定义时间格式

时间:2013-10-30 10:59:59

标签: 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 请告诉我如何格式化它。提前谢谢!

4 个答案:

答案 0 :(得分:4)

减去两个DateTime会为您提供一个TimeSpan,它使用ToString方法拥有自己的格式支持。

例如:

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

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

您可以在MSDN上阅读更多内容。

答案 1 :(得分:2)

试试这个:

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);

供参考:Custom TimeSpan Format Strings

答案 2 :(得分:1)

@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));

我希望这会有所帮助。

答案 3 :(得分:0)

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