C#时间 *** 作类分享

C#时间 *** 作类分享,第1张

概述本文实例为大家分享了C#时间 *** 作类的具体代码,供大家参考,具体内容如下

本文实例为大家分享了C#时间 *** 作类的具体代码,供大家参考,具体内容如下

using System;namespace DotNet.UtilitIEs{ /// <summary> /// 时间类 /// 1、SecondToMinute(int Second) 把秒转换成分钟 /// </summary> public class TimeHelper {  /// <summary>  /// 将时间格式化成 年月日 的形式,如果时间为null,返回当前系统时间  /// </summary>  /// <param name="dt">年月日分隔符</param>  /// <param name="Separator"></param>  /// <returns></returns>  public string GetFormatDate(DateTime dt,char Separator)  {   if (dt != null && !dt.Equals(dbnull.Value))   {    string tem = string.Format("yyyy{0}MM{1}dd",Separator,Separator);    return dt.ToString(tem);   }   else   {    return GetFormatDate(DateTime.Now,Separator);   }  }  /// <summary>  /// 将时间格式化成 时分秒 的形式,如果时间为null,返回当前系统时间  /// </summary>  /// <param name="dt"></param>  /// <param name="Separator"></param>  /// <returns></returns>  public string GetFormatTime(DateTime dt,char Separator) {   if (dt != null && !dt.Equals(dbnull.Value))   {    string tem = string.Format("hh{0}mm{1}ss",Separator);   }  }  /// <summary>  /// 把秒转换成分钟  /// </summary>  /// <returns></returns>  public static int SecondToMinute(int Second)  {   decimal mm = (decimal)((decimal)Second / (decimal)60);   return Convert.ToInt32(Math.Ceiling(mm));  }  #region 返回某年某月最后一天  /// <summary>  /// 返回某年某月最后一天  /// </summary>  /// <param name="year">年份</param>  /// <param name="month">月份</param>  /// <returns>日</returns>  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 获得两个日期的间隔  /// <summary>  /// 获得两个日期的间隔  /// </summary>  /// <param name="DateTime1">日期一。</param>  /// <param name="DateTime2">日期二。</param>  /// <returns>日期间隔TimeSpan。</returns>  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 格式化日期时间  /// <summary>  /// 格式化日期时间  /// </summary>  /// <param name="dateTime1">日期时间</param>  /// <param name="dateMode">显示模式</param>  /// <returns>0-9种模式的日期</returns>  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 得到随机日期  /// <summary>  /// 得到随机日期  /// </summary>  /// <param name="time1">起始日期</param>  /// <param name="time2">结束日期</param>  /// <returns>间隔日期之间的 随机日期</returns>  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 }}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程小技巧。

总结

以上是内存溢出为你收集整理的C#时间 *** 作类分享全部内容,希望文章能够帮你解决C#时间 *** 作类分享所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1255597.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-07
下一篇2022-06-07

发表评论

登录后才能评论

评论列表(0条)

    保存