C# 是否可以将日期时间格式转换为整数或浮点数

本文关键字:转换 整数 浮点数 格式 时间 是否 日期 | 更新日期: 2023-09-27 17:57:22

我在这里遇到了一些麻烦。在谷歌上做了一些研究,但我似乎找不到我想要的东西。我正在尝试以 hh:mm 格式要求两个输入(日期时间),减去一个输入另一个,然后在几分钟内返回该值的结果。问题是我想将该值作为整数返回,但我似乎找不到正确的方法来做到这一点。在 C/C++ 中,我不会有这种问题......无论如何,这是我在说的片段。

private int DuraçaoTreino(DateTime dtInicioTreino, DateTime dtFimTreino, int dtDuraçao)
{
    Console.WriteLine("Introduza a hora de inicio (hh:mm): ");
    dtInicioTreino = Convert.ToDateTime(Console.Read());
    Console.WriteLine("Introduza a hora de fim (hh:mm): ");
    dtFimTreino = Convert.ToDateTime(Console.Read());
    dtDuraçao = (dtFimTreino - dtInicioTreino); // duração da sessão de treino
    dtDuraçao = Convert.ToDecimal(Console.Read());
    return dtDuraçao;                  
} 

差不多就是这样...我是 C# 的新手,所以如果您发现任何错误,请保持友善。

提前谢谢。

C# 是否可以将日期时间格式转换为整数或浮点数

你说的是一个TimeSpan

DateTime dtBegin   = new DateTime(2011,5,1,22,0,0) ; // 10pm 1 May 2011
DateTime dtEnd     = new DateTime(2011,5,1,23,0,0) ; // 11pm 1 May 2011
TimeSpan tmElapsed = dtEnd - dtBegin ;               // tmElapsed is a TimeSpan with a value of 60 minutes

要返回分钟数,请执行以下操作:

int elapsedTimeInMinutes = (int) Math.Round( tmElapsed.TotalMinutes , 0 ,MidpointRounding.ToEven ) ;
var timeInMinutes = new DateTime(2011, 12, 25).Subtract(new DateTime(2010, 1, 1)).TotalMinutes;
您可以使用

DateTime.Parse,或者更好的是 DateTime.ParseExact 将字符串转换为日期时间,而不是使用我使用的构造函数创建 DateTime 对象。(我知道我在这里只使用日期部分,但如果您愿意,您只能选择使用时间部分)

将 DateTime 对象转换为 TimeSpan,减去并调用 TimeSpan.TotalMinutes(或类似 smth - 手头没有 VS):

DateTime dt1, dt2;

分配一些日期,然后:

TimeSpan ts = dt2 - dt1;

双分钟 = TS。总分钟数;