How convert TimeSpan to 24 hours and minutes String?

社会主义新天地 提交于 2019-12-30 01:39:59

问题


I use this code for converting Timespan to String (for ex: 14:53) :

myTimeSpan.ToString("hh:mm");

but this error occurs:

Input string was not in a correct format

What is the proper way to do this?


回答1:


myTimeSpan.ToString(@"hh\:mm")

Custom TimeSpan Format Strings

The custom TimeSpan format specifiers do not include placeholder separator symbols, such as the symbols that separate days from hours, hours from minutes, or seconds from fractional seconds. Instead, these symbols must be included in the custom format string as string literals. For example, "dd.hh\:mm" defines a period (.) as the separator between days and hours, and a colon (:) as the separator between hours and minutes.




回答2:


You need to use @"hh\:mm\" for TimeSpan. Timespan formatting is not exactly same as DateTime

myTimeSpan.ToString(@"hh\:mm");

Check out Msdn for more info




回答3:


var result = string.Format("{0:D2}:{1:D2}",  myTimeSpan.Hours, myTimeSpan.Minutes);



回答4:


From TimeSpan.ToString Method (String)

TimeSpan t = new TimeSpan(14, 53, 0);
Console.WriteLine(t.ToString(@"hh\:mm"));

As an alternative you can use String.Format like;

Console.WriteLine(String.Format("{0}:{1}", t.Hours, t.Minutes));
  • Standard TimeSpan Format Strings
  • Custom TimeSpan Format Strings

Remember, TimeSpan.ToString(String) overload only avaiable for .NET 4 or higher.




回答5:


Try this will work 100% !!

myTimeSpan.ToString(@"dd\.hh\:mm");.


来源:https://stackoverflow.com/questions/18482460/how-convert-timespan-to-24-hours-and-minutes-string

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!