日期:2014-05-17  浏览次数:20555 次

请教一个时间问题
想设置cookie失效时间,已有已知的分钟数,cookie失效时间是分钟数+当前时间,但不如如何最晚凌晨要失效,不会DateTime和分钟比较,代码如下,求大神赐详细代码

private void SetCookie2(string name, string value,int min)//min是分钟数
    {
HttpCookie cookie = Request.Cookies[name] == null ? new HttpCookie(name) : Request.Cookies[name];
        cookie.Value = value;
        DateTime dt = DateTime.Now;//现在时间
        TimeSpan ts = new TimeSpan(23 - dt.Hour, 59 - dt.Minute, 60 - dt.Second);//ts=明天.凌晨时间
// 这里需要加入判断,
// if( (现在时间+min) > 凌晨时间 )
// {ts=凌晨时间;}
// else
// {ts=(现在时间+min);}

cookie.Expires = dt.Add(ts);
        Response.Cookies.Add(cookie);    
    }
DateTime

------解决方案--------------------
int min_count=20;//默认20分钟过期
                DateTime dt = DateTime.Now;//现在时间
                DateTime end = DateTime.Parse(dt.AddDays(1).ToShortDateString());//2013/6/10 0:00:00

                DateTime begin_Expires=dt.AddMinutes(min_count);

                if (begin_Expires > end)
                {
                    //cookie.Expires = end;
                }
                else
                {
                    //cookie.Expires = begin_Expires;
                }