private void ValidateEffectiveDate()
{
bool ICAdvanced = SessionManager.DisplayUser.IsInRole(PERMISSIONS.hasICAdvanced);
if (!ICAdvanced && model.EffectiveDate < DateTime.Now)
{
this.CheckAndAddValidation("EffectiveDate",
"You do not have the advanced permission, so you " +
"are unable to value historical indications.");
}
}
如果你不ICAdvanced,你不應該能有那就是在過去的某一天,在今天之前或更早一天。但是,您今天或將來都可以擁有。在C#中比較DateTime是否
爲什麼此代碼沒有正確反映?
你有任何後續比較來自不同時區的時間? – froeschli 2011-02-23 21:26:49
@froeschli:那麼DateTime甚至沒有特定時區的*概念*,超出本地/ UTC /未指定。基本上,我將.NET日期和時間API視爲有些破碎,這就是我開始使用Noda Time的原因 - 但這還不夠接近生產。 – 2011-02-23 21:29:29
感謝您的回答。我想知道,因爲Robert C. Martin在他的書_Clean_ _Code_中有一整章關於比較Java中的日期。但是AFAIR他也沒有提到時區。再次感謝。 – froeschli 2011-02-23 21:34:59