我需要比较日期是否少于3个月.
我会得到安装日期:
DateTime installdate=DateTime.Parse("1/5/2012 8:12:14 PM");
if ((installdate<DateTime.Now.AddMonths(-3)))
{
// do something
}
Run Code Online (Sandbox Code Playgroud)
这是比较日期的最佳方式吗?
谢谢.
一些要考虑的事情:
DateTime.TryParse
,你应该可能使用DateTime.ParseExact
或者DateTime.TryParseExact
,通过预期的格式(文化)基本上,有关于日期和时间行为的各种角落案例 - 你应该明确地考虑所有这些事情(如果你使用Noda Time代替的话,其中一些是强迫你的DateTime
,顺便说一句:)
关于第一点,如果你的想法是你从安装日期(或类似的东西)获得三个月的试用期,这表明你应该增加三个月.
顺便说一下,我还会更改变量名称并删除多余的括号:
DateTime installationDate = DateTime.Parse("1/5/2012 8:12:14 PM");
DateTime trialPeriodEnd = installationDate.AddMonths(3);
if (trialPeriodEnd > DateTime.Now)
{
// do something
}
Run Code Online (Sandbox Code Playgroud)
假设你自己在某处存储安装日期,我会尝试以某种形式存储它,这种形式不那么模糊 - 甚至可能只存储一个"ticks"值而不是字符串.但是,假设你是你自己保存它,你不应该需要使用TryParse
-这是有道理的去"砰"如果你不能解析值.我ParseExact
可能会使用标准格式说明符 "o"(往返).
归档时间: |
|
查看次数: |
9408 次 |
最近记录: |