gpt4 book ai didi

.net - 这是 .net DateTime.Compare 函数中的错误吗?

转载 作者:行者123 更新时间:2023-12-05 01:32:16 24 4
gpt4 key购买 nike

我有一个带有两个 DateTimePicker 控件的表单

如果它们具有相同的值,DateTime.Compare 应该返回 0,但它认为它们不相同:

?DateTime.Compare(DatePicker.dtpFrom.Value, DatePicker.dtpTo.Value)
1

?datepicker.dtpFrom.Value
#9/20/2012 7:00:46 PM#

?DatePicker.dtpTo.Value
#9/20/2012 7:00:46 PM#

我是不是思路不够清晰?这肯定不是 .NET Framework 中的错误。

更新好的,我检查了毫秒值,它们关闭了(非常轻微)。古怪!我想这与构建控件和设置默认值时的一些细微延迟有关。

?DatePicker.dtpTo.value.ToString("fff")
"616"
?datepicker.dtpFrom.Value.ToString("fff")
"619"

我只关心日期部分,所以我解决了:

If DateTime.Compare(DatePicker.dtpFrom.Value.Date, DatePicker.dtpTo.Value.Date) > 0 Then
MsgBox("From_Date cannot be after To_Date", MsgBoxStyle.OkOnly, "Data validation error")

最佳答案

您想检查 .Net documentation on DateTime.Compare ,值为 1 表示 dtpFrom.Value 大于 dtpTo。

我还建议日期之间存在一毫秒或两毫秒的差异,因为即使精确到秒,它们也可能不相同。

我建议比较 .ToString("yyyy MM dd HH:mm:ss") 值以获得毫秒差异

更新

除了评论之外,这里有一个更好的建议来去除毫秒

dateTime.AddTicks( - (dateTime.Ticks % TimeSpan.TicksPerSecond));

关于.net - 这是 .net DateTime.Compare 函数中的错误吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12510436/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com