c# - 如何以 DateTime 格式显示双倍 (HH :mm:ss)?

标签 c# winforms datetime double

又是关于 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);

这是我在获胜表格中的结果:

enter image description here

如您所见,所有 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/

相关文章:

c# - Mysql DB 返回错误的日期格式 (C#)

c# - 将世界坐标系转换为笛卡尔坐标的问题

c# - DataGridView 中外键的组合框

php - SELECT月度记录表数据库

c# - 为 .Net Core 选择正确版本的 GCP 数据存储库

c# - 如何在 Visual Studio 2010 中使用 Crystal Reports 创建报表

c# - 单击一次打开下拉列表(在数据 GridView 中)项目

c# - 使用 Windows 窗体控制操作系统鼠标事件 - C#

java - 我希望日期以毫秒(纪元)格式显示,但使用时间戳获取日期

sql - 从日期范围生成天数