本文实例为大家分享了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
相关文章:
个人网站制作流程图片大全,个人网站如何注销?
合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?
如何在云虚拟主机上快速搭建个人网站?
网站建设制作需要多少钱费用,自己做一个网站要多少钱,模板一般多少钱?
枣阳网站制作,阳新火车站打的到仙岛湖多少钱?
,网站推广常用方法?
建站主机核心功能解析:服务器选择与网站搭建流程指南
深圳网站制作平台,深圳市做网站好的公司有哪些?
清除minerd进程的简单方法
建站之星后台密码遗忘?如何快速找回?
如何在Golang中引入测试模块_Golang测试包导入与使用实践
Swift中switch语句区间和元组模式匹配
专业制作网站的公司哪家好,建立一个公司网站的费用.有哪些部分,分别要多少钱?
大学网站设计制作软件有哪些,如何将网站制作成自己app?
制作网站的软件免费下载,免费制作app哪个平台好?
建站之星IIS配置教程:代码生成技巧与站点搭建指南
建站上传速度慢?如何优化加速网站加载效率?
如何通过山东自助建站平台快速注册域名?
小程序网站制作需要准备什么资料,如何制作小程序?
成都网站制作价格表,现在成都广电的单独网络宽带有多少的,资费是什么情况呢?
建站主机类型有哪些?如何正确选型
建站之星安装步骤有哪些常见问题?
重庆网站制作公司哪家好,重庆中考招生办官方网站?
高防服务器:AI智能防御DDoS攻击与数据安全保障
建站中国官网:模板定制+SEO优化+建站流程一站式指南
如何用IIS7快速搭建并优化网站站点?
建站之星如何优化SEO以实现高效排名?
详解jQuery中基本的动画方法
如何通过二级域名建站提升品牌影响力?
已有域名和空间,如何快速搭建网站?
建站三合一如何选?哪家性价比更高?
网站app免费制作软件,能免费看各大网站视频的手机app?
香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化
mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?
css网站制作参考文献有哪些,易聊怎么注册?
建站之星代理如何获取技术支持?
C#怎么使用委托和事件 C# delegate与event编程方法
广州营销型建站服务商推荐:技术优势与SEO优化解析
建站之星24小时客服电话如何获取?
c# F# 的 MailboxProcessor 和 C# 的 Actor 模型
成都品牌网站制作公司,成都营业执照年报网上怎么办理?
建站之星安装后如何配置SEO及设计样式?
微网站制作教程,不会写代码,不会编程,怎么样建自己的网站?
如何快速查询网址的建站时间与历史轨迹?
建站主机选择指南:服务器配置与SEO优化实战技巧
C++如何将C风格字符串(char*)转换为std::string?(代码示例)
网站制作与设计教程,如何制作一个企业网站,建设网站的基本步骤有哪些?
小说建站VPS选用指南:性能对比、配置优化与建站方案解析
常州企业建站如何选择最佳模板?
陕西网站制作公司有哪些,陕西凌云电器有限公司官网?
*请认真填写需求信息,我们会在24小时内与您取得联系。