c# - 作为文本输入的时间之间的差异

标签 c# .net datetime

我是 c# 的新手,我一直在尝试创建一个代码来显示工作的总小时数。例如,一个人从早上 8 点工作到下午 4 点意味着他每天工作 8 小时。 我想要一个显示他工作了多少小时的代码。

我尝试了 for 循环,但我没有做对...... 请帮帮我

int from = Convert.ToInt32(frA.Text);
int to = Convert.ToInt32(toA.Text);

for (from = 0; from <= to; from++)
{
    totalA.Text = from.ToString();
}

最佳答案

您在这里不需要循环。您可以使用 DateTimeTimespan:

    DateTime start = new DateTime(2013, 07, 04, 08,00, 00);
    DateTime end = new DateTime(2013, 07, 04, 16,00, 00);

    TimeSpan ts = end - start;

    Console.Write(ts.Hours);

在这里,我为今天 (04/07/2013) 创建了两个 DateTime 对象。一个开始时间为 08:00,结束时间为 16:00(下午 4 点)。

Timespan 对象 ts 减去这些日期,然后您可以使用 .Hours 属性。

关于c# - 作为文本输入的时间之间的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17465124/

相关文章:

c# - 是否可以在 WinForms .Net 的组件设计器中更改组件名称

c# - 如何取消选择组合框的文本

python 日期时间和 SQLite

c# - 返回错误答案的日期差异

c# - 你能把dll捆绑在一起吗?

c# - 通过代码生成trx文件

c# - 如何序列化两个参数Json转换?

c# - 使用 Dynamic 将 XML 反序列化为对象

C# 局部类

c# - 从一组闹钟中获取第一个闹钟时间