C#时间操作类分享
本文实例为大家分享了C#时间操作类的具体代码,供大家参考,具体内容如下
usingSystem; namespaceDotNet.Utilities { //////时间类 ///1、SecondToMinute(intSecond)把秒转换成分钟 /// publicclassTimeHelper { //////将时间格式化成年月日的形式,如果时间为null,返回当前系统时间 /// ///年月日分隔符 /// /// publicstringGetFormatDate(DateTimedt,charSeparator) { if(dt!=null&&!dt.Equals(DBNull.Value)) { stringtem=string.Format("yyyy{0}MM{1}dd",Separator,Separator); returndt.ToString(tem); } else { returnGetFormatDate(DateTime.Now,Separator); } } /// ///将时间格式化成时分秒的形式,如果时间为null,返回当前系统时间 /// ////// /// publicstringGetFormatTime(DateTimedt,charSeparator){ if(dt!=null&&!dt.Equals(DBNull.Value)) { stringtem=string.Format("hh{0}mm{1}ss",Separator,Separator); returndt.ToString(tem); } else { returnGetFormatDate(DateTime.Now,Separator); } } /// ///把秒转换成分钟 /// ///publicstaticintSecondToMinute(intSecond) { decimalmm=(decimal)((decimal)Second/(decimal)60); returnConvert.ToInt32(Math.Ceiling(mm)); } #region返回某年某月最后一天 /// ///返回某年某月最后一天 /// ///年份 /// 月份 /// 日 publicstaticintGetMonthLastDate(intyear,intmonth) { DateTimelastDay=newDateTime(year,month,newSystem.Globalization.GregorianCalendar().GetDaysInMonth(year,month)); intDay=lastDay.Day; returnDay; } #endregion #region返回时间差 publicstaticstringDateDiff(DateTimeDateTime1,DateTimeDateTime2) { stringdateDiff=null; try { //TimeSpants1=newTimeSpan(DateTime1.Ticks); //TimeSpants2=newTimeSpan(DateTime2.Ticks); //TimeSpants=ts1.Subtract(ts2).Duration(); TimeSpants=DateTime2-DateTime1; if(ts.Days>=1) { dateDiff=DateTime1.Month.ToString()+"月"+DateTime1.Day.ToString()+"日"; } else { if(ts.Hours>1) { dateDiff=ts.Hours.ToString()+"小时前"; } else { dateDiff=ts.Minutes.ToString()+"分钟前"; } } } catch {} returndateDiff; } #endregion #region获得两个日期的间隔 //////获得两个日期的间隔 /// ///日期一。 /// 日期二。 /// 日期间隔TimeSpan。 publicstaticTimeSpanDateDiff2(DateTimeDateTime1,DateTimeDateTime2) { TimeSpants1=newTimeSpan(DateTime1.Ticks); TimeSpants2=newTimeSpan(DateTime2.Ticks); TimeSpants=ts1.Subtract(ts2).Duration(); returnts; } #endregion #region格式化日期时间 //////格式化日期时间 /// ///日期时间 /// 显示模式 /// 0-9种模式的日期 publicstaticstringFormatDate(DateTimedateTime1,stringdateMode) { switch(dateMode) { case"0": returndateTime1.ToString("yyyy-MM-dd"); case"1": returndateTime1.ToString("yyyy-MM-ddHH:mm:ss"); case"2": returndateTime1.ToString("yyyy/MM/dd"); case"3": returndateTime1.ToString("yyyy年MM月dd日"); case"4": returndateTime1.ToString("MM-dd"); case"5": returndateTime1.ToString("MM/dd"); case"6": returndateTime1.ToString("MM月dd日"); case"7": returndateTime1.ToString("yyyy-MM"); case"8": returndateTime1.ToString("yyyy/MM"); case"9": returndateTime1.ToString("yyyy年MM月"); default: returndateTime1.ToString(); } } #endregion #region得到随机日期 //////得到随机日期 /// ///起始日期 /// 结束日期 /// 间隔日期之间的随机日期 publicstaticDateTimeGetRandomTime(DateTimetime1,DateTimetime2) { Randomrandom=newRandom(); DateTimeminTime=newDateTime(); DateTimemaxTime=newDateTime(); System.TimeSpants=newSystem.TimeSpan(time1.Ticks-time2.Ticks); //获取两个时间相隔的秒数 doubledTotalSecontds=ts.TotalSeconds; intiTotalSecontds=0; if(dTotalSecontds>System.Int32.MaxValue) { iTotalSecontds=System.Int32.MaxValue; } elseif(dTotalSecontds0) { minTime=time2; maxTime=time1; } elseif(iTotalSecontds<0) { minTime=time1; maxTime=time2; } else { returntime1; } intmaxValue=iTotalSecontds; if(iTotalSecontds<=System.Int32.MinValue) maxValue=System.Int32.MinValue+1; inti=random.Next(System.Math.Abs(maxValue)); returnminTime.AddSeconds(i); } #endregion } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。