将分钟转换为小时,分钟和秒

时间:2012-07-12 20:13:55

标签: c# timer

我是我的界面我让用户输入他们可以暂停动作的X分钟数。

如何将其转换为小时,分钟和秒?

我需要它来更新倒计时标签,以向用户显示剩余的时间。

3 个答案:

答案 0 :(得分:53)

首先创建TimeSpan,然后将其格式化为您想要的任何格式:

TimeSpan span = TimeSpan.FromMinutes(minutes);
string label = span.ToString(@"hh\:mm\:ss");

答案 1 :(得分:10)

创建新的TimeSpan

var pauseDuration = TimeSpan.FromMinutes(minutes);

您现在拥有方便的属性HoursMinutesSeconds。我认为他们是不言自明的。

答案 2 :(得分:1)

这应该可以让你在某个地方开始。定时器设置为1000ms。它使用与其他答案相同的想法,但充实了一点。

public partial class Form1 : Form
{
    TimeSpan duration;

    public Form1()
    {
        InitializeComponent();
    }

    private void timer1_Tick(object sender, EventArgs e)
    {
      duration  =  duration.Subtract(TimeSpan.FromSeconds(1)); //Subtract a second and reassign
      if (duration.Seconds < 0)
      {
          timer1.Stop();
          return;
      }

      lblHours.Text = duration.Hours.ToString();
      lblMinutes.Text = duration.Minutes.ToString();
      lblSeconds.Text = duration.Seconds.ToString();
    }

    private void button1_Click(object sender, EventArgs e)
    {
        if(!(string.IsNullOrEmpty(textBox1.Text)))
        {
            int minutes;
            bool result = int.TryParse(textBox1.Text, out minutes);
            if (result)
            {
                duration = TimeSpan.FromMinutes(minutes);
                timer1.Start();
            }
        }

    }
}