C#时间操作类时间计算等.doc
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C# 时间 操作 计算
- 资源描述:
-
一个C#时间工具类,可用于时间计算,比如根据出生年月实现生日提醒、两个日期天数比较、根据英文的星期几返回中文的星期几、计算两个时间的差值,返回的是x天x小时x分钟x秒、时间相差值、根据时间返回几个月前,几天前,几小时前,几分钟前以及几秒前,现在用不到的话,先收藏吧,代码如下: 001using System; 002using System.Collections.Generic; 003using System.Linq; 004using System.Text; 005namespace CLB.Utility.CharTools 006{ 007 public static class DateTimeHelper 008 { 009 //// 010 /// 根据时间返回几个月前,几天前,几小时前,几分钟前以及几秒前 011 /// 012 /// 013 /// 014 public static string DateStringFromNow(DateTime dt) 015 { 016 TimeSpan span = DateTime.Now - dt; 017 if (span.TotalDays > 60) 018 { 019 return dt.ToShortDateString(); 020 } 021 else if (span.TotalDays > 30) 022 { 023 return "1个月前"; 024 } 025 else if (span.TotalDays > 14) 026 { 027 return "2周前"; 028 } 029 else if (span.TotalDays > 7) 030 { 031 return "1周前"; 032 } 033 else if (span.TotalDays > 1) 034 { 035 return string.Format("{0}天前", (int)Math.Floor(span.TotalDays)); 036 } 037 else if (span.TotalHours > 1) 038 { 039 return string.Format("{0}小时前", (int)Math.Floor(span.TotalHours)); 040 } 041 else if (span.TotalMinutes > 1) 042 { 043 return string.Format("{0}分钟前", (int)Math.Floor(span.TotalMinutes)); 044 } 045 else if (span.TotalSeconds >= 1) 046 { 047 return string.Format("{0}秒前", (int)Math.Floor(span.TotalSeconds)); 048 } 049 else 050 { 051 return "1秒前"; 052 } 053 } 054 /// 055 /// 时间相差值,返回时间差 056 /// 调用时,isTotal为true时,返回的时带小数的天数,否则返回的是整数 057 /// 058 /// 059 /// 060 /// 061 /// 062 public static string DateDiff(DateTime DateTime1, DateTime DateTime2, bool isTotal) 063 { 064 TimeSpan ts = DateTime2 - DateTime1; 065 if (isTotal) 066 //带小数的天数,比如1天12小时结果就是1.5 067 return ts.TotalDays.ToString(); 068 else 069 //整数天数,1天12小时或者1天20小时结果都是1 070 return ts.Days.ToString(); 071 } 072 /// 073 /// 计算两个时间的差值,返回的是x天x小时x分钟x秒 074 /// 075 /// 076 /// 077 /// 078 public static string DateDiff(DateTime DateTime1, DateTime DateTime2) 079 { 080 string dateDiff = null; 081 TimeSpan ts1 = new TimeSpan(DateTime1.Ticks); 082 TimeSpan ts2 = new TimeSpan(DateTime2.Ticks); 083 TimeSpan ts = ts1.Subtract(ts2).Duration(); 084 //TimeSpan ts=ts1.Add(ts2).Duration(); 085 dateDiff = ts.Days.ToString() + "天" + ts.Hours.ToString() + "小时" + ts.Minutes.ToString() + "分钟"+ ts.Seconds.ToString() + "秒"; 086 return dateDiff; 087 } 088 /// 089 /// 根据英文的星期几返回中文的星期几 090 /// 如WhichDay("Sunday"),返回星期日 091 /// 092 /// 093 /// 094 public static string WhichDay(string enWeek) 095 { 096 switch (enWeek.Trim()) 097 { 098 case "Sunday": 099 return "星期日"; 100 case "Monday": 101 return "星期一"; 102 case "Tuesday": 103 return "星期二"; 104 case "Wednesday": 105 return "星期三"; 106 case "Thursday": 107 return "星期四"; 108 case "Friday": 109 return "星期五"; 110 case "Saturday": 111 return "星期六"; 112 default: 113 return enWeek; 114 } 115 } 116 /// 117 /// 日期比较 118 /// 119 /// 当前日期 120 /// 输入日期 121 /// 比较天数 122 /// 大于天数返回true,小于返回false 123 public static bool CompareDate(string today, string writeDate, int n) 124 { 125 DateTime Today = Convert.ToDateTime(today); 126 DateTime WriteDate = Convert.ToDateTime(writeDate); 127 WriteDate = WriteDate.AddDays(n); 128 if (Today >= WriteDate) 129 return false; 130 else 131 return true; 132 } 133 /// 134 /// 根据出生年月进行生日提醒 135 /// 136 /// 137 /// 138 public static string GetBirthdayTip(DateTime birthday) 139 { 140 DateTime now = DateTime.Now; 141 //TimeSpan span = DateTime.Now - birthday; 142 int nowMonth = now.Month; 143 int birtMonth = birthday.Month; 144 if (nowMonth == 12 && birtMonth == 1) 145 return string.Format("下月{0}号", birthday.Day); 146 if (nowMonth == 1 && birtMonth == 12) 147 return string.Format("上月{0}号", birthday.Day); 148 int months = now.Month - birthday.Month; 149 //int days = now.Day - birthday.Day; 150 if (months == 1) 151 return string.Format("上月{0}号", birthday.Day); 152 else if (months == -1) 153 return string.Format("下月{0}号", birthday.Day); 154 else if (months == 0) 155 { 156 if (now.Day == birthday.Day) 157 return "今天"; 158 return string.Format("本月{0}号", birthday.Day); 159 } 160 else if (months > 1) 161 return string.Format("已过{0}月", months); 162 else 163 return string.Format("{0}月{1}日", birthday.Month, birthday.Day); 164 } 165 } 166} 更多信息请查看IT技术专栏展开阅读全文
咨信网温馨提示:1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。




C#时间操作类时间计算等.doc



实名认证













自信AI助手
















微信客服
客服QQ
发送邮件
意见反馈



链接地址:https://www.zixin.com.cn/doc/9748223.html