时间格式

时间:2012-01-10 17:33:24

标签: c# datetime time

我需要格式化时间 00h30m

有一种简单的方法可以解决这个问题吗?

4 个答案:

答案 0 :(得分:6)

你可以试试这个

.ToString("HH\\hmm\\m");

请注意,您需要使用两个反斜杠转义字母hm,否则会出现编译错误。

答案 1 :(得分:5)

描述

你应该使用DateTime.ToString()。 这适用于你的。

示例

DateTime.Now.ToString(@"hh\hmm\m");

当然,将DateTime.Now替换为DateTime变量。

更新

我不知道您是否需要12或24小时格式。如果你想要12而不是使用小写hh,如果你想要24使用大写HH

这不起作用

  • 则DateTime.ToString( “HH \ HMM \ M”)
    • 将导致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")会为你效力吗?