我做了一个留言板弄了一个发帖功能可老板对我说限制这个IP,5分钟之内不能再发帖。
数据库的datatime_ly字段是记录当前发帖的时间默认值是(getdate())来捕获时间
问下datatime_ly记录的时间格式是2008-10-13 14:25:55
怎么把它的分钟截取出来并且和我当前分钟DateTime Minute = DateTime.Now.Minute;
小于5分钟不能发帖
找个高手帮帮忙!!谢谢喽

解决方案 »

  1.   


    System.TimeSpan ts = dt1.Subtract(dt2);//dt1和dt2分别是两个DateTime
      

  2.   


    int Minute = Convert.ToInt32(DateTime.Now.Minute); 
    int XYMinute = Convert.ToInt32(Convert.ToDateTime("2008-10-13 14:25:55").Minute);//取得记录时间的分数
    //不过比较你不能这样比较,比如记录时间是08:05:00,现在时间是10:02:00,按你的想法这个还不能发帖了?
    //所以要比较时间戳
      

  3.   

    如果格式固定的话SUBSTRING就可以
      

  4.   

    Convert.ToDateTime("2008-10-13 14:25:55").Minute 
      

  5.   

    截取分钟:
    Response.Write(Convert.ToDateTime("2008-10-13 14:25:55").ToString("mm"));
    不建议采用截取分钟的方法,因为年月日小时都有可能不同。
    采用下面的方法:
    TimeSpan ts = DateTime.Now-Convert.ToDateTime("2008-10-13 14:25:55");
    double iCount = ts.TotalMinutes;
    if (iCount<5)
    {
    //
    }
      

  6.   

    从数据库取出来,转换为DateTime类型。
    DateTime datatime_ly = ...
    if ( (datatime_ly.AddMinutes(5) - datatime_ly).TotalMinutes < 5)
    {
    ...
    }
      

  7.   

    用TimeSpan。TimeSpan ts1 = new TimeSpan(DateTime1.Ticks);
    TimeSpan ts2 = new TimeSpan(DateTime2.Ticks);
    TimeSpan ts = ts1.Subtract(ts2).Duration();//得出时间1和时间2之间的耗时
      

  8.   

    用SQLSERVER中的
    datediff(s,userTime,getdate()) s,秒(也可以换成分钟,小时)
    userTime(用户留言时间)
    getdate()(当前系统时间)
    select datediff(s,userTime,getdate()) from 数据库 where id= and ip=
      

  9.   

    刚发完就发觉得自己脑子进水了。sorry.
      

  10.   

    限制IP:将最近发言的人的IP和时间入库,然后写一个函数来验证发贴用户的IP和时间合法性,不合法提示,合法就成功
    楼主结贴率好低啊  别不给分哦