C#、sql时间的计算

来源:互联网 发布:fc2最新视频域名 编辑:程序博客网 时间:2024/05/22 15:10

sql的时间计算方法,这两题我们做了一个登录的窗口,经过一步步的添加制作,现在已经达到了可以运行的地步,可以说是OK了。但是也存在不足,不过可以满意的是我们想要的目的都已经实现了。以下就是sql时间的计算:

 string sd = ConfigurationManager.ConnectionStrings["strcon1"].ConnectionString;
                    SqlConnection conn = new SqlConnection(sd);
                    SqlCommand cmd = new SqlCommand();
                    cmd.Connection = conn;
                    conn.Open();
                    //时间差的计算方法
                    cmd.CommandText = "select DATEDIFF([Minute],ErrorTime,getdate()) from [Table] where UserName=@username";
                    cmd.Parameters.AddWithValue("@username",this.textBox1.Text);
                    //返回一行一列
                    object obj = cmd.ExecuteScalar();
                    int g= Convert.ToInt32(obj);

这是分钟的计算,当然也可以按照同样的方式进行年、月、日、小时、分钟、秒、毫秒的计算。

C#计算时间的方式很多,现在我就来说一说我用到的这些以下是我用过的:

DateTime dtone = Convert.ToDateTime("2007-1-1 05:00:00");
        DateTime dtwo = Convert.ToDateTime("2007-1-5 08:00:00");
        TimeSpan span = dtone.Subtract(dtwo); //算法是dtone 减去 dtwo
        tss.Text = span.Days + "天" + span.Hours + "小时" + span.Minutes + "分钟" + span.Seconds+"秒" + span.TotalDays;

这种方法可以计算出时间的差值。

另外,还有就是计算这个月有多少天:

int Dtyear, DtMonth;
        DtStart = DateTime.Now;
        Dtyear = DtStart.Year;
        DtMonth = DtStart.Month;
        int MonthCount = DateTime.DaysInMonth(Dtyear, DtMonth);//計算該月有多少天
        DtEnd = Convert.ToDateTime(Dtyear.ToString() + "-" + DtMonth.ToString() + "-" + MonthCount);

再有就是我在网上找的也许对你们有帮助:

try   
  {   
  long   interval   =   dt1.Ticks   -   dt2.Ticks;   
  DateTime   dt11;   
  DateTime   dt22;   
    
  switch(dateformat)   
  {   
  case   "fffffff"://100毫微妙   
  break;   
  case   "ffffff"://微妙   
  interval   /=   10;   
  break;   
  case   "fff"://毫秒   
  interval   /=   10000;   
  break;   
  case   "s"://秒   
  interval   /=   10000000;   
  break;   
  case   "m"://分鐘   
  interval   /=   600000000;   
  break;   
  case   "h"://小時   
  interval   /=   36000000000;   
  break;   
  case   "d"://天   
  interval   /=   864000000000;   
  break;   
  case   "M"://月   
  dt11   =   (dt1.CompareTo(dt2)   >=   0)?dt2:dt1;   
  dt22   =   (dt1.CompareTo(dt2)   >=   0)?dt1:dt2;   
  interval   =   -1;   
  while(dt22.CompareTo(dt11)   >=   0)   
  {   
  interval   ++;   
  dt11   =   dt11.AddMonths(1);   
  }   
  break;   
  case   "y"://年   
  dt11   =   (dt1.CompareTo(dt2)   >=   0)?dt2:dt1;   
  dt22   =   (dt1.CompareTo(dt2)   >=   0)?dt1:dt2;   
  interval   =   -1;   
  while(dt22.CompareTo(dt11)   >=   0)   
  {   
  interval   ++;   
  dt11   =   dt11.AddMonths(1);   
  }   
  interval   /=   12;   
  break;   
  }   
  return   interval;   
  }   
  catch(Exception   ex)   
  {   
  string   error   =   ex.Message;   
  return   0;   
  }   

原创粉丝点击