点击下载 TimeHelper.rar

主要功能如下

  1. .将时间格式化成 年月日 的形式,如果时间为null,返回当前系统时间
  2. .将时间格式化成 时分秒 的形式,如果时间为null,返回当前系统时间
  3. .把秒转换成分钟
  4. .返回某年某月最后一天
  5. .返回时间差
  6. .获得两个日期的间隔
  7. .格式化日期时间
  8. .得到随机日期

看下面代码吧

  1. /// <summary>
  2. /// 类说明:时间类SecondToMinute(int Second) 把秒转换成分钟
  3. /// 编 码 人:苏飞
  4. /// 联系方式:361983679
  5. /// 更新网站:[url=http://www.sufeinet.com/thread-655-1-1.html]http://www.sufeinet.com/thread-655-1-1.html[/url]
  6. /// </summary>
  7. using System;
  8.  
  9. namespace DotNet.Utilities
  10. {
  11. /// <summary>
  12. /// 时间类
  13. /// 1、SecondToMinute(int Second) 把秒转换成分钟
  14. /// </summary>
  15. public class TimeHelper
  16. {
  17. /// <summary>
  18. /// 将时间格式化成 年月日 的形式,如果时间为null,返回当前系统时间
  19. /// </summary>
  20. /// <param name="dt">年月日分隔符</param>
  21. /// <param name="Separator"></param>
  22. /// <returns></returns>
  23. public string GetFormatDate(DateTime dt, char Separator)
  24. {
  25. if (dt != null && !dt.Equals(DBNull.Value))
  26. {
  27. string tem = string.Format("yyyy{0}MM{1}dd", Separator, Separator);
  28. return dt.ToString(tem);
  29. }
  30. else
  31. {
  32. return GetFormatDate(DateTime.Now, Separator);
  33. }
  34. }
  35. /// <summary>
  36. /// 将时间格式化成 时分秒 的形式,如果时间为null,返回当前系统时间
  37. /// </summary>
  38. /// <param name="dt"></param>
  39. /// <param name="Separator"></param>
  40. /// <returns></returns>
  41. public string GetFormatTime(DateTime dt, char Separator) {
  42. if (dt != null && !dt.Equals(DBNull.Value))
  43. {
  44. string tem = string.Format("hh{0}mm{1}ss", Separator, Separator);
  45. return dt.ToString(tem);
  46. }
  47. else
  48. {
  49. return GetFormatDate(DateTime.Now, Separator);
  50. }
  51. }
  52. /// <summary>
  53. /// 把秒转换成分钟
  54. /// </summary>
  55. /// <returns></returns>
  56. public static int SecondToMinute(int Second)
  57. {
  58. decimal mm = (decimal)((decimal)Second / (decimal));
  59. return Convert.ToInt32(Math.Ceiling(mm));
  60. }
  61.  
  62. #region 返回某年某月最后一天
  63. /// <summary>
  64. /// 返回某年某月最后一天
  65. /// </summary>
  66. /// <param name="year">年份</param>
  67. /// <param name="month">月份</param>
  68. /// <returns>日</returns>
  69. public static int GetMonthLastDate(int year, int month)
  70. {
  71. DateTime lastDay = new DateTime(year, month, new System.Globalization.GregorianCalendar().GetDaysInMonth(year, month));
  72. int Day = lastDay.Day;
  73. return Day;
  74. }
  75. #endregion
  76.  
  77. #region 返回时间差
  78. public static string DateDiff(DateTime DateTime1, DateTime DateTime2)
  79. {
  80. string dateDiff = null;
  81. try
  82. {
  83. //TimeSpan ts1 = new TimeSpan(DateTime1.Ticks);
  84. //TimeSpan ts2 = new TimeSpan(DateTime2.Ticks);
  85. //TimeSpan ts = ts1.Subtract(ts2).Duration();
  86. TimeSpan ts = DateTime2 - DateTime1;
  87. if (ts.Days >= )
  88. {
  89. dateDiff = DateTime1.Month.ToString() + "月" + DateTime1.Day.ToString() + "日";
  90. }
  91. else
  92. {
  93. if (ts.Hours > )
  94. {
  95. dateDiff = ts.Hours.ToString() + "小时前";
  96. }
  97. else
  98. {
  99. dateDiff = ts.Minutes.ToString() + "分钟前";
  100. }
  101. }
  102. }
  103. catch
  104. { }
  105. return dateDiff;
  106. }
  107. #endregion
  108.  
  109. #region 获得两个日期的间隔
  110. /// <summary>
  111. /// 获得两个日期的间隔
  112. /// </summary>
  113. /// <param name="DateTime1">日期一。</param>
  114. /// <param name="DateTime2">日期二。</param>
  115. /// <returns>日期间隔TimeSpan。</returns>
  116. public static TimeSpan DateDiff2(DateTime DateTime1, DateTime DateTime2)
  117. {
  118. TimeSpan ts1 = new TimeSpan(DateTime1.Ticks);
  119. TimeSpan ts2 = new TimeSpan(DateTime2.Ticks);
  120. TimeSpan ts = ts1.Subtract(ts2).Duration();
  121. return ts;
  122. }
  123. #endregion
  124.  
  125. #region 格式化日期时间
  126. /// <summary>
  127. /// 格式化日期时间
  128. /// </summary>
  129. /// <param name="dateTime1">日期时间</param>
  130. /// <param name="dateMode">显示模式</param>
  131. /// <returns>0-9种模式的日期</returns>
  132. public static string FormatDate(DateTime dateTime1, string dateMode)
  133. {
  134. switch (dateMode)
  135. {
  136. case "":
  137. return dateTime1.ToString("yyyy-MM-dd");
  138. case "":
  139. return dateTime1.ToString("yyyy-MM-dd HH:mm:ss");
  140. case "":
  141. return dateTime1.ToString("yyyy/MM/dd");
  142. case "":
  143. return dateTime1.ToString("yyyy年MM月dd日");
  144. case "":
  145. return dateTime1.ToString("MM-dd");
  146. case "":
  147. return dateTime1.ToString("MM/dd");
  148. case "":
  149. return dateTime1.ToString("MM月dd日");
  150. case "":
  151. return dateTime1.ToString("yyyy-MM");
  152. case "":
  153. return dateTime1.ToString("yyyy/MM");
  154. case "":
  155. return dateTime1.ToString("yyyy年MM月");
  156. default:
  157. return dateTime1.ToString();
  158. }
  159. }
  160. #endregion
  161.  
  162. #region 得到随机日期
  163. /// <summary>
  164. /// 得到随机日期
  165. /// </summary>
  166. /// <param name="time1">起始日期</param>
  167. /// <param name="time2">结束日期</param>
  168. /// <returns>间隔日期之间的 随机日期</returns>
  169. public static DateTime GetRandomTime(DateTime time1, DateTime time2)
  170. {
  171. Random random = new Random();
  172. DateTime minTime = new DateTime();
  173. DateTime maxTime = new DateTime();
  174.  
  175. System.TimeSpan ts = new System.TimeSpan(time1.Ticks - time2.Ticks);
  176.  
  177. // 获取两个时间相隔的秒数
  178. double dTotalSecontds = ts.TotalSeconds;
  179. int iTotalSecontds = ;
  180.  
  181. if (dTotalSecontds > System.Int32.MaxValue)
  182. {
  183. iTotalSecontds = System.Int32.MaxValue;
  184. }
  185. else if (dTotalSecontds < System.Int32.MinValue)
  186. {
  187. iTotalSecontds = System.Int32.MinValue;
  188. }
  189. else
  190. {
  191. iTotalSecontds = (int)dTotalSecontds;
  192. }
  193.  
  194. if (iTotalSecontds > )
  195. {
  196. minTime = time2;
  197. maxTime = time1;
  198. }
  199. else if (iTotalSecontds < )
  200. {
  201. minTime = time1;
  202. maxTime = time2;
  203. }
  204. else
  205. {
  206. return time1;
  207. }
  208.  
  209. int maxValue = iTotalSecontds;
  210.  
  211. if (iTotalSecontds <= System.Int32.MinValue)
  212. maxValue = System.Int32.MinValue + ;
  213.  
  214. int i = random.Next(System.Math.Abs(maxValue));
  215.  
  216. return minTime.AddSeconds(i);
  217. }
  218. #endregion
  219. }
  220. }

[时间操作] C#TimeHelper时间格式化帮助类 (转载)的更多相关文章

  1. [时间操作] C#DateFormat时间帮助类 (转载)

    点击下载 DateFormat.rar 主要功能如下 返回每月的第一天和最后一天 看下面代码吧 /// <summary> /// 类说明:时间操作类 /// 编 码 人:苏飞 /// 联 ...

  2. java8中的接口与时间操作

    java8中接口可以有默认方法(用default修饰,可以有多个)和静态方法了. public interface Tran { default public String getName() { r ...

  3. Python基础 | 日期时间操作

    目录 获取时间 时间映射 格式转换 字符串转日期 日期转字符串 unixtime 时间计算 时间偏移 时间差 "日期时间数据"作为三大基础数据类型之一,在数据分析中会经常遇到. 本 ...

  4. Java Calendar 类的时间操作

    Java Calendar 类的时间操作 标签: javaCalendar时间Date 2013-07-30 17:53 140401人阅读 评论(7) 收藏 举报 分类: 所有(165) Java ...

  5. Calendar 日历类的时间操作

    我们经常会涉及到对时间的处理,例如登陆网站,我们会看到网站首页显示XXX,欢迎您!今天是XXXX年....某些网站会记录下用户登陆的时间,比如银行的一些网站,对于这些经常需要处理的问题,Java中提供 ...

  6. Java8获取当前时间、新的时间日期类如Java8的LocalDate与Date相互转换、ZonedDateTime等常用操作包含多个使用示例、Java8时区ZoneId的使用方法、Java8时间字符串解析成类

     下面将依次介绍 Date转Java8时间类操作 ,Java8时间类LocalDate常用操作(如获得当前日期,两个日期相差多少天,下个星期的日期,下个月第一天等) 解析不同时间字符串成对应的Java ...

  7. Java日期时间API系列21-----Jdk8中java.time包中的新的日期时间API类,xk-time时间转换,计算,格式化,解析的工具

    通过工作之余,对Java8中java.time包源码的不断学习,使用和总结,开发了xk-time,初步完成,欢迎试用和提出建议! xk-time xk-time is a datetime conve ...

  8. DateHelper.cs日期时间操作辅助类C#

    //==================================================================== //** Copyright © classbao.com ...

  9. java Joda-Time 对日期、时间操作

    任何企业应用程序都需要处理时间问题.应用程序需要知道当前的时间点和下一个时间点,有时它们还必须计算这两个时间点之间的路径.使用 JDK 完成这项任务将非常痛苦和繁琐.现在来看看 Joda Time,一 ...

随机推荐

  1. 【HDOJ】1969 Pie

    二分. #include <stdio.h> #include <math.h> ; ]; int main() { int case_n, n, f, m; double r ...

  2. jboss项目迁移至WebLogic12

    1 weblogic 使用jtds-1.2.3.jar驱动链接MS SQL Server 2008的数据源配置 1.1 拷贝jtds-1.2.3.jar至D:\Oracle\Middleware\wl ...

  3. 数学(容斥计数):LNOI 2016 方

    Description 上帝说,不要圆,要方,于是便有了这道题.由于我们应该方,而且最好能够尽量方,所以上帝派我们来找正方形 上帝把我们派到了一个有N行M列的方格图上,图上一共有(N+1)×(M+1) ...

  4. [转]NHibernate之旅(7):初探NHibernate中的并发控制

    本节内容 什么是并发控制? 悲观并发控制(Pessimistic Concurrency) 乐观并发控制(Optimistic Concurrency) NHibernate支持乐观并发控制 实例分析 ...

  5. LRU 缓冲池 (不考虑多线程)

    lru:(转)LRU算法的实现 什么是LRU算法? LRU是Least Recently Used的缩写,即最近最少使用页面置换算法,是为虚拟页式存储管理服务的.关于操作系统的内存管理,如何节省利用容 ...

  6. poj 1039 Pipe(几何基础)

    Pipe Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 9932   Accepted: 3045 Description ...

  7. POJ 3666 Making the Grade (DP滚动数组)

    题意:农夫约翰想修一条尽量平缓的路,路的每一段海拔是A[i],修理后是B[i],花费|A[i] – B[i]|,求最小花费.(数据有问题,代码只是单调递增的情况) #include <stdio ...

  8. HTML5 Canvas核心技术—图形、动画与游戏开发.pdf8

    第6章 精灵 精灵(sprite),它是一种可以集成入动画之中的图像对象,赋予它们各种行为,精灵并非Canvas API的一部分,,但都是从它衍生而来 本章将会实现三种设计模式:策略模式(精灵与绘制器 ...

  9. android4.0 FaceDetection笔记

    这几天研究了下andoid4.0.3的FaceDetection这里写一下大致的流程,方便日后查阅. 相关说明可以在这里找到: frameworks/base/docs/html/guide/topi ...

  10. C#面向对象基础:virtual方法,abstract方法,区别

    virtual 关键字用于修饰方法.属性.索引器或事件声明,并使它们可以在派生类中被重写.默认情况下,类中的方法是非虚的,非虚的方法不能在子类中被覆盖(override),但是可以隐藏(new),但这 ...