你如何将日期时间格式化为 24 小时?我有一个组合框,时间从 00:00 开始,间隔 15 分钟,但如果我选择 12:00 它会崩溃

How do you format datetime to 24hours? I have a combobox with time starting at 00:00 in 15min intervals, but it crashes if I pick over 12:00

我的实际代码是计算 24 小时内两个组合框之间的时间差,这是我的代码:

    private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
    {
        string format = "hh:mm";
        starttime = DateTime.ParseExact(comboBox1.Text, format, System.Globalization.CultureInfo.InvariantCulture);

    }

    private void comboBox2_SelectedIndexChanged(object sender, EventArgs e)
    {
        string format = "hh:mm";
        endtime = DateTime.ParseExact(comboBox2.Text, format, System.Globalization.CultureInfo.InvariantCulture);

    }

    private void buttonCalculate_Click(object sender, EventArgs e)
    {
        TimeSpan z;

        z = endtime - starttime;
        textBox1.Text = z.ToString();
    }

对于 0-23 之间的小时,使用格式字符串 HH 而不是 hhhh 只会给你 0-11 小时,这就是为什么你得到重复的原因。

另见 https://msdn.microsoft.com/en-us/library/8kb3ddd4%28v=vs.110%29.aspx