中国领先的工业平台

返回贤集网 返回微头条
贤集网技术微头条APP获取

C#时间操作类分享

 山东大明消毒科技有限公司

下载贤集网APP入驻自媒体

本文实例为大家分享了C#时间操作类的具体代码,供大家参考,具体内容如下using System;namespace DotNet.Utilities{////// 时间类/// 1、SecondToMinute(int Second) 把秒转换成分钟///public class TimeHelper{////// 将时间格式化成 年月日 的形式,如果时间为null,返回当前系统时间//////年月日分隔符//////public string GetFormatDate(DateTime dt, char Separator){if (dt != null && !dt.Equals(DBNull.Value)){string tem = string.Format("yyyy{0}MM小贝dd", Separator, Separator);return dt.ToString(tem);}else{return GetFormatDate(DateTime.Now, Separator);}}////// 将时间格式化成 时分秒 的形式,如果时间为null,返回当前系统时间////////////public string GetFormatTime(DateTime dt, char Separator) {if (dt != null && !dt.Equals(DBNull.Value)){string tem = string.Format("hh{0}mm小贝ss", Separator, Separator);return dt.ToString(tem);}else{return GetFormatDate(DateTime.Now, Separator);}}////// 把秒转换成分钟//////public static int SecondToMinute(int Second){decimal mm = (decimal)((decimal)Second / (decimal)60);return Convert.ToInt32(Math.Ceiling(mm));}#region 返回某年某月最后一天////// 返回某年某月最后一天//////年份///月份///日public static int GetMonthLastDate(int year, int month){DateTime lastDay = new DateTime(year, month, new System.Globalization.GregorianCalendar().GetDaysInMonth(year, month));int Day = lastDay.Day;return Day;}#endregion#region 返回时间差public static string DateDiff(DateTime DateTime1, DateTime DateTime2){string dateDiff = null;try{//TimeSpan ts1 = new TimeSpan(DateTime1.Ticks);//TimeSpan ts2 = new TimeSpan(DateTime2.Ticks);//TimeSpan ts = ts1.Subtract(ts2).Duration();TimeSpan ts = 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{ }return dateDiff;}#endregion#region 获得两个日期的间隔////// 获得两个日期的间隔//////日期一。///日期二。///日期间隔TimeSpan。public static TimeSpan DateDiff2(DateTime DateTime1, DateTime DateTime2){TimeSpan ts1 = new TimeSpan(DateTime1.Ticks);TimeSpan ts2 = new TimeSpan(DateTime2.Ticks);TimeSpan ts = ts1.Subtract(ts2).Duration();return ts;}#endregion#region 格式化日期时间////// 格式化日期时间//////日期时间///显示模式///0-9种模式的日期public static string FormatDate(DateTime dateTime1, string dateMode){switch (dateMode){case "0":return dateTime1.ToString("yyyy-MM-dd");case "1":return dateTime1.ToString("yyyy-MM-dd HH:mm:ss");case "2":return dateTime1.ToString("yyyy/MM/dd");case "3":return dateTime1.ToString("yyyy年MM月dd日");case "4":return dateTime1.ToString("MM-dd");case "5":return dateTime1.ToString("MM/dd");case "6":return dateTime1.ToString("MM月dd日");case "7":return dateTime1.ToString("yyyy-MM");case "8":return dateTime1.ToString("yyyy/MM");case "9":return dateTime1.ToString("yyyy年MM月");default:return dateTime1.ToString();}}#endregion#region 得到随机日期////// 得到随机日期//////起始日期///结束日期///间隔日期之间的 随机日期public static DateTime GetRandomTime(DateTime time1, DateTime time2){Random random = new Random();DateTime minTime = new DateTime();DateTime maxTime = new DateTime();System.TimeSpan ts = new System.TimeSpan(time1.Ticks - time2.Ticks);// 获取两个时间相隔的秒数double dTotalSecontds = ts.TotalSeconds;int iTotalSecontds = 0;if (dTotalSecontds > System.Int32.MaxValue){iTotalSecontds = System.Int32.MaxValue;}else if (dTotalSecontds < System.Int32.MinValue){iTotalSecontds = System.Int32.MinValue;}else{iTotalSecontds = (int)dTotalSecontds;}if (iTotalSecontds > 0){minTime = time2;maxTime = time1;}else if (iTotalSecontds < 0){minTime = time1;maxTime = time2;}else{return time1;}int maxValue = iTotalSecontds;if (iTotalSecontds <= System.Int32.MinValue)maxValue = System.Int32.MinValue + 1;int i = random.Next(System.Math.Abs(maxValue));return minTime.AddSeconds(i);}#endregion}}复制代码					
最新回复

还没有人回复哦,抢沙发吧~

发布回复

为您推荐

热门交流