C#时间类型表示为为datetime型
定义一个datetime型变量dt,如下:DateTimedt;//DateTime是C#时间类型的声明,dt是所声明的变量的名称
其中需要注意的一个易犯的错误,就是将一个String型赋给了一个DateTime型变量,比如,我想让已定义的变量dt 表示20:00:00这个时间。若写成dt="20:00:00";或dt=(DateTime)("20:00:00");
这都是错误的,原因是这里的“20:00:00”是一个字符串即String型,无法通过以上方式对dt赋值。正确的赋值方法为:dt=Convert.ToDateTime("20:00:00");
这样便把时间“20:00:00”赋给了dt
再说一点C#时间类型DateTime的基本知识:
DateTimecurrentTime=newDateTime();//创建一个DateTime类型变量currentTime,DateTime为类型,currentTime为变量名
currentTime=System.DateTime.Now;//取当前时间:年月日时分秒
int年=currentTime.Year;//当前年(变量名是可以用中文的)
int月=currentTime.Month;//当前月
int日=currentTime.Day;//当前日
int时=currentTime.Hour;//当前时
int分=currentTime.Minute;//当前分
int秒=currentTime.Second;//当前秒
int毫秒=currentTime.Millisecond;//当前毫秒DateTimedt1=DateTime.Now;
StringWeek=dt1.DayOfWeek;//表示当前日期是星期几,返回值为String型(sunday,monday.....)
StringDay=dt1.Day;//表示当前日期是该月中的第几天,返回值为int型(1,2,3....)
//其余还有DayOfYear等等方法
一个简单的判断两个时间间隔的函数,三个参数:DateTime1和DateTime2为要进行比较的时间,Type为比较的单位,范围(d,h,m,s)。C#时间类型函数如下:
- privatedoubleDateDiff(DateTimeDateTime1,DateTimeDateTime2,stringType)
- ...{
- doubledateDiff=0;
- TimeSpants1=newTimeSpan(DateTime1.Ticks);
- TimeSpants2=newTimeSpan(DateTime2.Ticks);
- TimeSpants=ts1.Subtract(ts2).Duration();
- switch(Type)
- ...{
- case"d":
- dateDiff=ts.TotalDays;
- break;
- case"h":
- dateDiff=ts.TotalHours;
- break;
- case"m":
- dateDiff=ts.TotalMinutes;
- break;
- case"s":
- dateDiff=ts.TotalSeconds;
- break;
- }
- returndateDiff;
- }
比如DateTime1为9:20:00,DateTime2为10:30:20,调用该函数DateTimedt1=Convert.ToDateTime("9:20:00");
- DateTimedt2=Convert.ToDateTime("10:30:20");
- doubleday=DateDiff(dt1,dt2,"d");
- doublehour=DateDiff(dt1,dt2,"h");
- doublemin=DateDiff(dt1,dt2,"m");
- doublesecond=DateDiff(dt1,dt2,"s");可得day=0.04884259259259259;hour=1.1722222222222223;min=70.333333333333329;second=4220.0;
C#时间类型的入门知识就介绍得这里。
【编辑推荐】