输入为整数小时,输出为正或负hh:mm格式

时间:2014-03-25 17:49:29

标签: c# datetime

在给出string输入时,我对integer输出有一个非常愚蠢的问题。

此方法的存根看起来像这样:

public string myMethod(int hours)
{
    return in -/+hours:mm format
}

假设我们的整数输入hours1,此方法的输出为+01:00

假设我们输入-2,此方法的输出将为-02:00

假设我们输入12,此方法的输出将为+12:00

它出现在C#中,有办法制作整数/双输出,因此它们通过使用{}以某种方式出现。

如何使用此整数格式化程序解析整数输入,并以该特定格式输出?

2 个答案:

答案 0 :(得分:3)

尝试这样的事情:

public string myMethod(int hours)
{
    return string.Format("{0:+#;-#}:00", hours);
}

Console.WriteLine(myMethod(1));   // +1:00
Console.WriteLine(myMethod(-2));  // -2:00
Console.WriteLine(myMethod(12));  // +12:00

根据您想要处理0的具体方式,您可以使用:

public string myMethod(int hours)
{
    return string.Format("{0:+#;-#;+0}:00", hours);
}

Console.WriteLine(myMethod(0));   // +0:00

进一步阅读

答案 1 :(得分:0)

我最终使用这种方法,因为我可以同时使用小时和分钟:

public static string toTimeSpan(int hours, int minutes)
{
    if (hours < 0)
    {
        return "-" + TimeSpan.FromHours(hours).ToString(@"hh") + TimeSpan.FromMinutes(minutes).ToString(@"\:mm");
    }
    else
    {
        return "+" + TimeSpan.FromHours(hours).ToString(@"hh") + TimeSpan.FromMinutes(minutes).ToString(@"\:mm");
    }
}

如果不正确,请告诉我。到目前为止,它对我很有用。