又是关于 double 和时间格式(HH:mm:ss)的问题。
我正在尝试对之前每 5 分钟的时间间隔进行分段,从现在开始。
为了做到这一点,我执行这样的计算:
private string Get_now(int minus)
{
DateTime n = DateTime.Now.AddMinutes( 0 - minus);
double now = ((n.Hour > 12) ? n.Hour - 12 : n.Hour) * 10000
+ ((n.Minute > 60) ? n.Minute - 60 : n.Minute) * 100
+ ((n.Second > 60) ? n.Second - 60 : n.Second);
string string_now = Convert.ToString(now);
return string_now;
}
计算结果会给我双数,例如,如果现在时间是 03:50:00,如果我输入 Get_now(0),“现在”将是 35000;如果我输入 Get_now(5),“现在”将为 345000。
这就是我将“现在”打印到文本框的方式。
textBox1.Text = Get_now(0);
textBox2.Text = Get_now(5);
textBox3.Text = Get_now(10);
textBox4.Text = Get_now(15);
textBox5.Text = Get_now(20);
这是我在获胜表格中的结果:
如您所见,所有 Get_now 结果都显示为 double 值。
我想要的是时间格式显示为00:00:00
这意味着,结果必须像这样显示:
42352 --> 04:23:52
41852 --> 04:18:52
41352 --> 04:08:52
40852 --> 04:08:52
40352 --> 04:03:52
否则,如果您有更好的方法来减去每 5 分钟(固定时间间隔)的时间并将其显示为字符串格式,请随时在此处留下您的评论。
最佳答案
为什么要将时间转换为两倍?可能会很简单?
private static string Get_now(int minus)
{
return DateTime.Now.AddMinutes(-minus)
.ToString("HH:mm:ss");
}
关于c# - 如何以 DateTime 格式显示双倍 (HH :mm:ss)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15565054/