如何从两个 DateTimePickers 获取时间长度并与整数进行比较?
How to get the length of time from two DateTimePickers and compare to an integer?
发布后立即找到我需要的东西(当然)。感谢您的帮助。我不了解 TimeSpan,也没有意识到我可以简单地将 .TotalHours 添加到我的 TimeSpan 变量的末尾以获得我需要的东西。
请像我5岁一样解释一下
我有两个自定义格式为 HH:mm 的 DateTimePicker 对象,因此只输入军事时间。日期无关紧要。一个选择器用于开始时间,另一个选择器用于结束时间。
我需要能够从结束时间中减去开始时间,以便获得它们之间的总时间长度(以小时为单位)。
然后我需要将这个时间长度转换为整数吗?以便我稍后可以使用 if 语句查看它是否等于或大于某个数字。
我知道 DateTime 可以使用 > < 和其他运算符,所以这就是我想使用的。
然而,当我尝试像这样创建一个变量时:
var timeLength = endTime.Value - startTime.Value;
它告诉我它是一个 TimeSpan 变量。
我尝试创建一个 DateTime 变量,以便以后可以使用 > < 和其他运算符:
DateTime timeLength = endTime.Value - startTime.Value;
我得到了红色波浪形
"Cannot implicitly convert type 'System.TimeSpan' to 'System.DateTime'
好吧 VS,我不需要 TimeSpan 变量。至少我不认为我这样做?
无论如何,显然这意味着我以后不能使用 shiftLength
变量来与事物进行比较,所以这是行不通的。
我试图在我的 if 语句中直接这样做:
if (endTime.Value - startTime.Value <= 12)
Operator '<=' cannot be applied to operands of type 'TimeSpan' and
'int'
好的。美好的。所以.
1) 为什么将其称为 TimeSpan 变量。我正在尝试查看 TimeSpan 属性,这让我很困惑。我是否需要使用 TimeSpan 来完成我想要做的事情?如果不是..
2) 从我的 startTime.Value 中减去我的 DateTimePicker endTime.Value 以便能够将其与具有 < > = 运算符的整数进行比较的最简单方法是什么?
使用 TotalMinutes
(TotalHours
, TotalSeconds
等) 属性 的 TimeSpan
:
if ((endTime.Value - startTime.Value).TotalHours <= 12)
{
....
}
参考:TimeSpan
发布后立即找到我需要的东西(当然)。感谢您的帮助。我不了解 TimeSpan,也没有意识到我可以简单地将 .TotalHours 添加到我的 TimeSpan 变量的末尾以获得我需要的东西。
请像我5岁一样解释一下
我有两个自定义格式为 HH:mm 的 DateTimePicker 对象,因此只输入军事时间。日期无关紧要。一个选择器用于开始时间,另一个选择器用于结束时间。
我需要能够从结束时间中减去开始时间,以便获得它们之间的总时间长度(以小时为单位)。
然后我需要将这个时间长度转换为整数吗?以便我稍后可以使用 if 语句查看它是否等于或大于某个数字。
我知道 DateTime 可以使用 > < 和其他运算符,所以这就是我想使用的。
然而,当我尝试像这样创建一个变量时:
var timeLength = endTime.Value - startTime.Value;
它告诉我它是一个 TimeSpan 变量。
我尝试创建一个 DateTime 变量,以便以后可以使用 > < 和其他运算符:
DateTime timeLength = endTime.Value - startTime.Value;
我得到了红色波浪形
"Cannot implicitly convert type 'System.TimeSpan' to 'System.DateTime'
好吧 VS,我不需要 TimeSpan 变量。至少我不认为我这样做?
无论如何,显然这意味着我以后不能使用 shiftLength
变量来与事物进行比较,所以这是行不通的。
我试图在我的 if 语句中直接这样做:
if (endTime.Value - startTime.Value <= 12)
Operator '<=' cannot be applied to operands of type 'TimeSpan' and 'int'
好的。美好的。所以.
1) 为什么将其称为 TimeSpan 变量。我正在尝试查看 TimeSpan 属性,这让我很困惑。我是否需要使用 TimeSpan 来完成我想要做的事情?如果不是..
2) 从我的 startTime.Value 中减去我的 DateTimePicker endTime.Value 以便能够将其与具有 < > = 运算符的整数进行比较的最简单方法是什么?
使用 TotalMinutes
(TotalHours
, TotalSeconds
等) 属性 的 TimeSpan
:
if ((endTime.Value - startTime.Value).TotalHours <= 12)
{
....
}
参考:TimeSpan