如何减去两个日期C#
?
我有两个变量DateTime
,我需要在几个小时内得到它们之间的差异。
DateTime fecharegistro = {04/05/2018 8:34:01} //obtenemos este valor de una base de datos
DateTime fechafin = DateTime.Now.Substract(fechaRegistro);
编译上面的代码时,我得到一个错误,说一个对象不能被隐式转换TimeStamp
为System.DateTime
,当变量是DateTime
.
2个日期的减法永远不会给你一个
DateTime
,而是一个TimeSpan
。如果您想知道小时数,只需访问TotalHours
减法属性:PS 不需要使用 的方法
Substract
,DateTime
只需减去日期(fecha2-fecha1
)即可。如果要以可读的方式格式化输出,可以使用格式,例如:
此代码返回一个类型的字符串
04d 01h 44m
日期的加法或减法返回TimeSpan。因此,您可以直接从减法的结果中获得小时数。
要找到类的两个对象之间的时间差,
DateTime
您可以将它们都减去,此操作的结果是类的对象TimeSpan
,因此它不允许您将其分配给类的对象DateTime
。因此,编译器会向您抛出该错误。类对象中包含的
TimeSpan
是两个日期相减的结果,即两个日期之间的时间:根据您的需要,您可以在类的对象
TimeSpan
和DateTime
. 您也可以只使用TimeSpan
从两个日期相减生成的对象来仅打印时间差。