应用于数据刷新,为了控制用户对数据的刷新频率。
记录用户上次刷新时间为preTime,然后用当前时间减去preTime,所得的时间间隔和事先定义好的间隔 updateSpaceTime比较,若小于,则不执行刷新。
方法如下:
private readonly string updateSpaceTime = "1";
....
string preTime = "2006-10-13 10:59:07";
....
if(System.DateTime.Now.Subtract(DateTime.Parse(preTime)) > TimeSpan.Parse(this.updateSpaceTime))
{
//执行刷新
}
主要讲述一下TimeSpan的使用:
即要先定义updateSpaceTime,其定义规则如下。
[ws][-]{ d | [d.]hh:mm[:ss[.ff]] }[ws]
方括号(“[”和“]”)中的项是可选的;需要从大括号(“{”和“}”)内由竖线 (|) 分隔的替换选项列表中选择一项;冒号和句号(“:”和“.”)是必需的原义字符;其他项如下。
项 | 说明 |
ws | 可选的空白 |
"-" | 可选的减号,指示负 TimeSpan |
d | 天,范围从 0 到 10675199 |
hh | 小时,范围从 0 到 23 |
mm | 分钟,范围从 0 到 59 |
ss | 可选的秒,范围从 0 到 59 |
ff | 可选的秒的小数部分,有 1 到 7 个小数位 |
s 的分量必须整体指定大于或等于 MinValue 并小于或等于 MaxValue 的时间间隔。
举下面几个例子以说明:
比如你要设定间隔1天,就用1;间隔12小时就用12:0
对于[ws][-]{ d | [d.]hh:mm[:ss[.ff]] }[ws]我再加入一点自己的理解:
[]内的可有可无。d或者[d.]hh:mm[:ss[.ff]]必须选择一项,即如果选d就只能表示完整的天。hh:mm是必须的,前面如果有天就用d.,后面如果有秒就加:ss,秒后如果还有毫秒就再加.ff。