本日のテストで、メッセージリマインダーのタイミングが2時間前に設定されており、メッセージが届く前に送信されてしまうというバグが発生しました。
コードを確認しました
(m.ExpectReceiveTime - DateTime.Now).Minutes < (pModel.ErtDelayPrevMinutes == -999 ? 0 : pModel.ErtDelayPrevMinutes))
Executed
(m.ExpectReceiveTime - DateTime.Now).Minutes
結果は55で、これは170であるはずです
Executed
(m.ExpectReceiveTime - DateTime.Now).TotalMinutes
結果は169.8956です8451
最後にコードを
に変更します
(Convert.ToDecimal((m.ExpectReceiveTime - DateTime.Now).TotalMinutes) < (pModel.ErtDelayPrevMinutes == -999 ? 0 : pModel.ErtDelayPrevMinutes))
バグは解決しました
補足:
Days; //天部分 Hours; //小时部分 Milliseconds; //毫秒部分 Minutes; //分部分 Seconds; //秒部分 Ticks; //Tick 总数 TotalDays; //总天数 TotalHours; //总小时数 TotalMilliseconds; //总毫秒数 TotalMinutes; //总分钟数 TotalSeconds; //总秒数
以上がC# における Minutes と TotalMinutes の違いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。