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
    }
    }
  • 相关阅读:
    PHP trim() 函数
    php 计算2个日期的相差天数
    php date('Y-n-j')的和date('Y-m-d')的区别
    转移服务器
    Invalid argument supplied for foreach()解决办法
    wordpress 后台忘记密码怎么办
    qrcode js插件生成微信二维码
    thinkphp5 注释
    tp5 新增完数据,获取id
    resstFul服务文件上传下载
  • 原文地址:https://www.cnblogs.com/zzp0320/p/7160414.html
Copyright © 2011-2022 走看看