我是C#的新手,正在尝试编写一个简单的控制台应用程序。我有两个日期时间,但我听不到信息Same
,它一直在打印Different
。
我还在控制台中打印了两个日期时间,以了解它们是否不同,但是即使系统时间相同,它也不满足条件。
static void Main(string[] args)
{
while (true)
{
Thread.Sleep(1000);
DateTime dt1 = DateTime.Now;
DateTime dt2 = DateTime.Parse("06:30:00 AM");
if (TimeSpan.Compare(dt1.TimeOfDay, dt2.TimeOfDay) == 0)
{
Console.WriteLine("Same");
}
else
{
Console.WriteLine("Different");
}
Console.WriteLine(dt1);
Console.WriteLine(dt2);
}
}
DateTime
分辨率低至刻度,即使默认情况下在大多数区域性中它们仅打印至秒。
如果您为进行打印,dt1.ToString("o")
并且与相同dt2
,则您会看到,即使它们等于秒,它们的亚秒数量也可能会有所不同。这就解释了为什么您当前的代码可以打印“不同”但随后的两行仍然打印相同的值。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句