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));
- 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 >= )
- {
- dateDiff = DateTime1.Month.ToString() + "月" + DateTime1.Day.ToString() + "日";
- }
- else
- {
- if (ts.Hours > )
- {
- 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 "":
- return dateTime1.ToString("yyyy-MM-dd");
- case "":
- return dateTime1.ToString("yyyy-MM-dd HH:mm:ss");
- case "":
- return dateTime1.ToString("yyyy/MM/dd");
- case "":
- return dateTime1.ToString("yyyy年MM月dd日");
- case "":
- return dateTime1.ToString("MM-dd");
- case "":
- return dateTime1.ToString("MM/dd");
- case "":
- return dateTime1.ToString("MM月dd日");
- case "":
- return dateTime1.ToString("yyyy-MM");
- case "":
- return dateTime1.ToString("yyyy/MM");
- case "":
- 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 = ;
- 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 > )
- {
- minTime = time2;
- maxTime = time1;
- }
- else if (iTotalSecontds < )
- {
- minTime = time1;
- maxTime = time2;
- }
- else
- {
- return time1;
- }
- int maxValue = iTotalSecontds;
- if (iTotalSecontds <= System.Int32.MinValue)
- maxValue = System.Int32.MinValue + ;
- int i = random.Next(System.Math.Abs(maxValue));
- return minTime.AddSeconds(i);
- }
- #endregion
- }
- }
TimeHelper
C# 时间操作类的更多相关文章
- JAVA常用时间操作类
http://www.360doc.com/content/10/1210/17/2703996_76839640.shtml 在程序里面要获取当前的开始时间和结束时间,以及当前天所在的周的开始 ...
- java 常用时间操作类,计算到期提醒,N年后,N月后的日期
package com.zjjerp.tool; import java.text.ParseException; import java.text.ParsePosition; import jav ...
- [时间操作] C#DateFormat时间帮助类 (转载)
点击下载 DateFormat.rar 主要功能如下 返回每月的第一天和最后一天 看下面代码吧 /// <summary> /// 类说明:时间操作类 /// 编 码 人:苏飞 /// 联 ...
- Apache Commons Lang之日期时间工具类
码农不识Apache,码尽一生也枉然. FastDateFormat FastDateFormat是一个快速且线程安全的时间操作类,它完全可以替代SimpleDateFromat.因为是线程安全的,所 ...
- Java Calendar 类的时间操作
Java Calendar 类的时间操作 标签: javaCalendar时间Date 2013-07-30 17:53 140401人阅读 评论(7) 收藏 举报 分类: 所有(165) Java ...
- 使用日期操作类(Calendar)获得几秒、几分钟、几小时之前的时间
public String dealDate(String case_time){ // 日期操作类 Calendar calendar = Calendar.getInstance(); // 当前 ...
- Java8 时间日期类操作
Java8 时间日期类操作 Java8的时间类有两个重要的特性 线程安全 不可变类,返回的都是新的对象 显然,该特性解决了原来java.util.Date类与SimpleDateFormat线程不安全 ...
- 【知识必备】ezSQL,最好用的数据库操作类,让php操作sql更简单~
最近用php做了点小东东,用上了ezSQL,感觉真的很ez,所以拿来跟大家分享一下~ ezSQL是一个非常好用的PHP数据库操作类.著名的开源博客WordPress的数据库操作就使用了ezSQL的My ...
- Util应用程序框架公共操作类(二):数据类型转换公共操作类(源码篇)
上一篇介绍了数据类型转换的一些情况,可以看出,如果不进行封装,有可能导致比较混乱的代码.本文通过TDD方式把数据类型转换公共操作类开发出来,并提供源码下载. 我们在 应用程序框架实战十一:创建VS解决 ...
随机推荐
- GO学习笔记 - 数据类型推导
官方教程:https://tour.go-zh.org/basics/14 在定义一个变量却并不显式指定其类型时(使用 := 语法或者 var = 表达式语法), 变量的类型由(等号)右侧的值推导得出 ...
- Java按位取反运算符“~”的工作原理
说明:本文参考了文章<Java按位取反运算符“~”>,链接:https://blog.csdn.net/smilecall/article/details/4245447 补充:位运算符( ...
- 【Oracle 12c】最新CUUG OCP-071考试题库(54题)
54.(12-15) choose the best answer: View the Exhibit and examine the structure of the ORDER_ITEMS and ...
- [XHR]——重新认识 XMLHttpRequest
细说XMLHttpRequest如何使用 先来看一段使用XMLHttpRequest发送Ajax请求的简单示例代码. function sendAjax() { //构造表单数据 var formDa ...
- Java中类变量和实例变量的初始化
1. 类变量和实例变量 类变量即类成员变量中的静态变量,它们可以通过类名来直接访问. 实例变量是类成员变量中的非静态变量,只有在实例化对象之后通过对象来访问. 2. 空间分配的时间不同 类变量是在类加 ...
- 基于datax的数据同步平台
一.需求 由于公司各个部门对业务数据的需求,比如进行数据分析.报表展示等等,且公司没有相应的系统.数据仓库满足这些需求,最原始的办法就是把数据提取出来生成excel表发给各个部门,这个功能已经由脚本转 ...
- IntelliJ IDEA中可以用Tab键跳出括号和引号吗?
在 Settings->Editor->General->Smart Keys 中勾选 Jump outside closing bracket/quote with Tab 即可.
- Hibernate 工具类
1.HibernateConfigUtil.java(HIbernate配置工具类) import org.hibernate.Session; import org.hibernate.Sessio ...
- windows phpinfo上不能找到memcache扩展 php版本5.6
我的memcache用的我是memcached-win64-1.4.4-14.zip这个版本memcache扩展库下载地址:http://windows.php.net/downloads/pecl/ ...
- 洛谷 P1273 有线电视网(树形背包)
洛谷 P1273 有线电视网(树形背包) 干透一道题 题面:洛谷 P1273 本质就是个背包.这道题dp有点奇怪,最终答案并不是dp值,而是最后遍历寻找那个合法且最优的\(i\)作为答案.dp值存的是 ...