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