【发布时间】:2019-09-22 19:19:57
【问题描述】:
我必须创建一个比较两个 Date 的 if 函数: 第一个日期是时间。 第二个日期是来自固定日期的日期。
我的代码:
if (Time == contractNSQ100.Expiry.AddHours(-57).AddMinutes(59))
{
True
}
else
{
False
}
我已经用 :
测试了我的格式 Debug ("contractNSQ100.Expiry.AddHours(-57).AddMinutes(59) :" + contractNSQ100.Expiry.AddHours(-57).AddMinutes(59));
// Return : 9/14/2010 3:59:00 PM
我几乎用 Debug 方法测试了我的时间格式,这返回了相同的格式。
// Return : 6/14/2010 3:55:00 AM
但我的 If 语句总是返回 False。
有人知道为什么要测试:
if (Time == contractNSQ100.Expiry.AddHours(-57).AddMinutes(59))
总是 False ?
提前致谢!
【问题讨论】:
-
这是学习如何使用 free, built-in Step Debugger
The First Date is Time调试自己的代码的绝佳机会意思是,但是没有Time类型,很难说这种格式是如何起作用的。 -
这也是一个学习如何格式化代码的机会,以便它在 Stack Overflow 上很好地显示。编辑您的问题并尝试
{}按钮。事实上,你的代码是不可读的边界 -
如果您无法锻炼/没有 {} 按钮(例如移动网站),请在每个代码行的开头放置(至少)4 个空格
-
感谢您鼓励我使用 {} 按钮,这是我在堆栈上的第一篇文章。
-
DateTime没有格式。格式用于将字符串表示解析为DateTime或用于创建DateTime的字符串表示。您要比较的是Time与ExpiryDateTime的值减去 56 小时 1 分钟。尝试将这两个值都放入调试语句中,您就会明白为什么它们不相等。
标签: c# datetime if-statement testing time