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
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。