全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

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, 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 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# string格式的日期时间字符串转为DateTime类型的方法  # asp.net(C#)实现功能强大的时间日期处理类完整实例  # 深入Unix时间戳与C# DateTime时间类型互换的详解  # 时间为  # 转换成  # 某年某月  # 大家分享  # 具体内容  # 大家多多  # 分隔符  # Format  # tem  # yyyy  # MM  # dd  # DBNull  # DateTime  # GetFormatDate  # char  # Equals  # amp  # decimal  # static 


相关文章: 装修招标网站设计制作流程,装修招标流程?  网站制作大概多少钱一个,做一个平台网站大概多少钱?  香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南  高防服务器租用首荐平台,企业级优惠套餐快速部署  新网站制作渠道有哪些,跪求一个无线渠道比较强的小说网站,我要发表小说?  XML的“混合内容”是什么 怎么用DTD或XSD定义  智能起名网站制作软件有哪些,制作logo的软件?  实现虚拟支付需哪些建站技术支撑?  如何在IIS中新建站点并配置端口与物理路径?  已有域名如何免费搭建网站?  专业网站设计制作公司,如何制作一个企业网站,建设网站的基本步骤有哪些?  如何选择高效响应式自助建站源码系统?  洛阳网站制作公司有哪些,洛阳的招聘网站都有哪些?  香港服务器WordPress建站指南:SEO优化与高效部署策略  如何用西部建站助手快速创建专业网站?  定制建站是什么?如何实现个性化需求?  网站制作新手教程,新手建设一个网站需要注意些什么?  相亲简历制作网站推荐大全,新相亲大会主持人小萍萍资料?  如何批量查询域名的建站时间记录?  网站插件制作软件免费下载,网页视频怎么下到本地插件?  ,在苏州找工作,上哪个网站比较好?  PHP 500报错的快速解决方法  建站之星收费标准详解:套餐费用及年费价格表一览  专业商城网站制作公司有哪些,pi商城官网是哪个?  网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?  建站主机核心功能解析:服务器选择与网站搭建流程指南  攀枝花网站建设,攀枝花营业执照网上怎么年审?  南宁网站建设制作定制,南宁网站建设可以定制吗?  如何选择网络建站服务器?高效建站必看指南  如何做静态网页,sublimetext3.0制作静态网页?  c# 在高并发场景下,委托和接口调用的性能对比  代购小票制作网站有哪些,购物小票的简要说明?  教程网站设计制作软件,怎么创建自己的一个网站?  宝盒自助建站智能生成技巧:SEO优化与关键词设置指南  建站之星后台密码遗忘如何找回?  官网建站费用明细查询_企业建站套餐价格及收费标准指南  建站之星客服服务时间及联系方式如何?  建站中国官网:模板定制+SEO优化+建站流程一站式指南  用v-html解决Vue.js渲染中html标签不被解析的问题  交易网站制作流程,我想开通一个网站,注册一个交易网址,需要那些手续?  nginx修改上传文件大小限制的方法  建站之星如何取消后台验证码生成?  再谈Python中的字符串与字符编码(推荐)  宝塔Windows建站如何避免显示默认IIS页面?  东莞专业制作网站的公司,东莞大学生网的网址是什么?  如何在橙子建站上传落地页?操作指南详解  ,石家庄四十八中学官网?  如何续费美橙建站之星域名及服务?  建站之星如何快速解决建站难题?  如何通过二级域名建站提升品牌影响力? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。