用timespan防止网页重复刷新计数的方法

主要是运用timespan来控制 ,这里先要说说timespan的用法,timespan的定义规则如下:

[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 的时间间隔。
举个例子如下:
比如你要设定间隔时间为14天的话,就是 14,就格式就是 14.00:00:00  
或者  6.21:22:33代表是6天21点22小时33秒
下面我就来实现防止刷新的办法,
private static string updateTime = "1";//这里代表一天的时间
private string Pretime="2006-12-5 11:59:07";//上次刷新的时间
private datetime currenttime=datetime.now;//当前时间
if(currenttime.Subtract(DateTime.Parse(Pretime))>DateTime.Parse(updateTime))
{
 //调用刷新代码
}
另外一个求得时间间隔的函数,
 //求得两个日期之间的时间间隔
    private double DateDiff(string howtocompare, DateTime date1, DateTime date2)
    {
        double diff = 0;
        TimeSpan TS = new TimeSpan(date2.Ticks - date1.Ticks);
        switch (howtocompare.ToLower())
        {
            case "year":
                diff = Convert.ToDouble(TS.TotalDays / 365);
                break;
            case "month":
                diff = Convert.ToDouble((TS.TotalDays / 365) * 12);
                break;
            case "day":
                diff = Convert.ToDouble(TS.TotalDays);
                break;
            case "hour":
                diff = Convert.ToDouble(TS.TotalHours);
                break;
            case "minute":
                diff = Convert.ToDouble(TS.TotalMinutes);
                break;
            case "second":
                diff = Convert.ToDouble(TS.TotalSeconds);
                break;
        }
        return diff;
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值