应用于数据刷新,为了控制用户对数据的刷新频率。

    记录用户上次刷新时间为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 的时间间隔。

举下面几个例子以说明:

'      String to Parse   TimeSpan or Exception
'      ---------------   ---------------------
'                    0        00:00:00
'                   14     14.00:00:00
'                1:2:3        01:02:03
'            0:0:0.250        00:00:00.2500000
'       10.20:30:40.50     10.20:30:40.5000000
'  99.23:59:59.9999999     99.23:59:59.9999999
'  0023:0059:0059.0099        23:59:59.0099000
'               24:0:0   TimeSpan overflowed because the duration is too long.
'               0:60:0   TimeSpan overflowed because the duration is too long.
'               0:0:60   TimeSpan overflowed because the duration is too long.
'                  10:   Input string was not in a correct format.
'                  :10   Input string was not in a correct format.
'               10:20:   Input string was not in a correct format.
'                 .123   Input string was not in a correct format.
'                  10.   Input string was not in a correct format.
'                10.12   Input string was not in a correct format.

 

比如你要设定间隔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

posted on 2006-10-12 15:28  不做懒人  阅读(1241)  评论(3编辑  收藏  举报