我需要格式化时间 00h30m 。
有一种简单的方法可以解决这个问题吗?
答案 0 :(得分:6)
你可以试试这个
.ToString("HH\\hmm\\m");
请注意,您需要使用两个反斜杠转义字母h
和m
,否则会出现编译错误。
答案 1 :(得分:5)
你应该使用DateTime.ToString()。 这适用于你的。
DateTime.Now.ToString(@"hh\hmm\m");
当然,将DateTime.Now
替换为DateTime变量。
我不知道您是否需要12或24小时格式。如果你想要12而不是使用小写hh
,如果你想要24使用大写HH
。
这不起作用
Unrecognized escape sequence
因此无法编译答案 2 :(得分:4)
我喜欢@Brandon的方法(并且赞成它)。另一种方法是使用String.Format
。
String.Format("{0}h{1}m", DateTime.Now.Hour, DateTime.Now.Minute);
如果您真的想要,可以在扩展方法中封装任何方法。
public static class DateTimeExtensions
{
public static string CustomFormat(this DateTime dt)
{
// Could use @Brandon's approach or whatever else here.
return String.Format("{0}h{1}m", dt.Hour, dt.Minute);
}
}
...
// Usage:
DateTime.Now.CustomFormat();
答案 3 :(得分:1)
DateTime.ToString("hh\hmm\m")
会为你效力吗?