[时间操作] C#TimeHelper时间格式化帮助类 (转载)
主要功能如下
- .将时间格式化成 年月日 的形式,如果时间为null,返回当前系统时间
- .将时间格式化成 时分秒 的形式,如果时间为null,返回当前系统时间
- .把秒转换成分钟
- .返回某年某月最后一天
- .返回时间差
- .获得两个日期的间隔
- .格式化日期时间
- .得到随机日期
看下面代码吧
- /// <summary>
- /// 类说明:时间类SecondToMinute(int Second) 把秒转换成分钟
- /// 编 码 人:苏飞
- /// 联系方式:361983679
- /// 更新网站:[url=http://www.sufeinet.com/thread-655-1-1.html]http://www.sufeinet.com/thread-655-1-1.html[/url]
- /// </summary>
- 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
- }
- }
[时间操作] C#TimeHelper时间格式化帮助类 (转载)的更多相关文章
- [时间操作] C#DateFormat时间帮助类 (转载)
点击下载 DateFormat.rar 主要功能如下 返回每月的第一天和最后一天 看下面代码吧 /// <summary> /// 类说明:时间操作类 /// 编 码 人:苏飞 /// 联 ...
- java8中的接口与时间操作
java8中接口可以有默认方法(用default修饰,可以有多个)和静态方法了. public interface Tran { default public String getName() { r ...
- Python基础 | 日期时间操作
目录 获取时间 时间映射 格式转换 字符串转日期 日期转字符串 unixtime 时间计算 时间偏移 时间差 "日期时间数据"作为三大基础数据类型之一,在数据分析中会经常遇到. 本 ...
- Java Calendar 类的时间操作
Java Calendar 类的时间操作 标签: javaCalendar时间Date 2013-07-30 17:53 140401人阅读 评论(7) 收藏 举报 分类: 所有(165) Java ...
- Calendar 日历类的时间操作
我们经常会涉及到对时间的处理,例如登陆网站,我们会看到网站首页显示XXX,欢迎您!今天是XXXX年....某些网站会记录下用户登陆的时间,比如银行的一些网站,对于这些经常需要处理的问题,Java中提供 ...
- Java8获取当前时间、新的时间日期类如Java8的LocalDate与Date相互转换、ZonedDateTime等常用操作包含多个使用示例、Java8时区ZoneId的使用方法、Java8时间字符串解析成类
下面将依次介绍 Date转Java8时间类操作 ,Java8时间类LocalDate常用操作(如获得当前日期,两个日期相差多少天,下个星期的日期,下个月第一天等) 解析不同时间字符串成对应的Java ...
- Java日期时间API系列21-----Jdk8中java.time包中的新的日期时间API类,xk-time时间转换,计算,格式化,解析的工具
通过工作之余,对Java8中java.time包源码的不断学习,使用和总结,开发了xk-time,初步完成,欢迎试用和提出建议! xk-time xk-time is a datetime conve ...
- DateHelper.cs日期时间操作辅助类C#
//==================================================================== //** Copyright © classbao.com ...
- java Joda-Time 对日期、时间操作
任何企业应用程序都需要处理时间问题.应用程序需要知道当前的时间点和下一个时间点,有时它们还必须计算这两个时间点之间的路径.使用 JDK 完成这项任务将非常痛苦和繁琐.现在来看看 Joda Time,一 ...
随机推荐
- 【HDOJ】1969 Pie
二分. #include <stdio.h> #include <math.h> ; ]; int main() { int case_n, n, f, m; double r ...
- jboss项目迁移至WebLogic12
1 weblogic 使用jtds-1.2.3.jar驱动链接MS SQL Server 2008的数据源配置 1.1 拷贝jtds-1.2.3.jar至D:\Oracle\Middleware\wl ...
- 数学(容斥计数):LNOI 2016 方
Description 上帝说,不要圆,要方,于是便有了这道题.由于我们应该方,而且最好能够尽量方,所以上帝派我们来找正方形 上帝把我们派到了一个有N行M列的方格图上,图上一共有(N+1)×(M+1) ...
- [转]NHibernate之旅(7):初探NHibernate中的并发控制
本节内容 什么是并发控制? 悲观并发控制(Pessimistic Concurrency) 乐观并发控制(Optimistic Concurrency) NHibernate支持乐观并发控制 实例分析 ...
- LRU 缓冲池 (不考虑多线程)
lru:(转)LRU算法的实现 什么是LRU算法? LRU是Least Recently Used的缩写,即最近最少使用页面置换算法,是为虚拟页式存储管理服务的.关于操作系统的内存管理,如何节省利用容 ...
- poj 1039 Pipe(几何基础)
Pipe Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 9932 Accepted: 3045 Description ...
- POJ 3666 Making the Grade (DP滚动数组)
题意:农夫约翰想修一条尽量平缓的路,路的每一段海拔是A[i],修理后是B[i],花费|A[i] – B[i]|,求最小花费.(数据有问题,代码只是单调递增的情况) #include <stdio ...
- HTML5 Canvas核心技术—图形、动画与游戏开发.pdf8
第6章 精灵 精灵(sprite),它是一种可以集成入动画之中的图像对象,赋予它们各种行为,精灵并非Canvas API的一部分,,但都是从它衍生而来 本章将会实现三种设计模式:策略模式(精灵与绘制器 ...
- android4.0 FaceDetection笔记
这几天研究了下andoid4.0.3的FaceDetection这里写一下大致的流程,方便日后查阅. 相关说明可以在这里找到: frameworks/base/docs/html/guide/topi ...
- C#面向对象基础:virtual方法,abstract方法,区别
virtual 关键字用于修饰方法.属性.索引器或事件声明,并使它们可以在派生类中被重写.默认情况下,类中的方法是非虚的,非虚的方法不能在子类中被覆盖(override),但是可以隐藏(new),但这 ...