zoukankan      html  css  js  c++  java
  • 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,Separator);
    return dt.ToString(tem);
    }
    else
    {
    return GetFormatDate(DateTime.Now,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 DateGiff2(DateTime DateTime1,DateTime DateTime2)
    {
      TimeSpan ts1=new TimeSpan(DateTime1.Ticks);
    TimSpan 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 dTotalSecond=ts.TotalSeconds;
    int iTotalSecond=0;
    if(dTotalSeconds>System.Int32.MaxValue)
    {
     iTotalSeconds=System.Int32.MaxValue;
    }
    else if(dTotalSeconds<System.Int32.MinValue)
    {
    iTotalSeconds=System.Int32.MinValue;
    }
    else
    {
    iTotalSeconds=(int)dTotalSeconds;
    }
    if(iTotalSeconds>0)
    {
     minTime=time2;
    maxTime=time1;
    }
    else if(iTotalSeconds<0)
    {
    minTime=time1;
    maxTime=time2;
    }
    else{
    return time1;
    }
    int maxValue=iTotalSeconds;
    if(iTotalSeconds <=System.Int32.MinValue)
    maxValue=System.Int32.MinValue+1;
    int i=random.Next(System.Math.Abs(maxValue));
    return minTime.AddSeconds(i);
    }
    #endregion
    }
    }
  • 相关阅读:
    C#listbox使用方法
    poj 3894 System Engineer (二分图最大匹配--匈牙利算法)
    Java实现 蓝桥杯VIP 算法训练 连接字符串
    Java实现 蓝桥杯VIP 算法训练 连接字符串
    Java实现 蓝桥杯VIP 算法训练 比较字符串
    Java实现 蓝桥杯VIP 算法训练 比较字符串
    Java实现 蓝桥杯VIP 算法训练 比较字符串
    Java实现 蓝桥杯VIP 算法训练 比较字符串
    Java实现 蓝桥杯VIP 算法训练 比较字符串
    Java实现 蓝桥杯VIP 算法训练 黑白无常
  • 原文地址:https://www.cnblogs.com/zzp0320/p/7160414.html
Copyright © 2011-2022 走看看