TimeSpan用法详解

TimeSpan用法详解1 DateTime 值类型代表了一个从公元 0001 年 1 月 1 日 0 点 0 分 0 秒到公元 9999 年 12 月 31 日 23 点 59 分 59 秒之间的具体日期时刻 因此 你可以用 DateTime 值类型来描述任何在想象范围之内的时间 一个 DateTime 值代表了一个具体的时刻 2 TimeSpan 值包含了许多属性与方法 用于访问或处理一个 TimeSpan 值下面的列表涵盖了其中的一部分 Add 与另一个 TimeSpa

TimeSpan( 10, 20, 30, 40, 50 ) 10.20:30:40.0

TimeSpan( 1111, 2222, 3333, 4444, 5555 ) 1205.22:47:09.

public string DateStringFromNow(DateTime dt) { TimeSpan span = DateTime.Now - dt; if (span.TotalDays > 60) { return dt.ToShortDateString(); } else if ( span.TotalDays > 30 ) { return "1个月前"; } else if (span.TotalDays > 14) { return "2周前"; } else if (span.TotalDays > 7) { return "1周前"; } else if (span.TotalDays > 1) { return string.Format("{0}天前", (int)Math.Floor(span.TotalDays)); } else if (span.TotalHours > 1) { return string.Format("{0}小时前", (int)Math.Floor(span.TotalHours)); } else if (span.TotalMinutes > 1) { return string.Format("{0}分钟前", (int)Math.Floor(span.TotalMinutes)); } else if (span.TotalSeconds >= 1) { return string.Format("{0}秒前", (int)Math.Floor(span.TotalSeconds)); } else { return "1秒前"; } }



C#中使用TimeSpan计算两个时间的差值

可以反加两个日期之间任何一个时间单位。

private string DateDiff(DateTime DateTime1, DateTime DateTime2) {string dateDiff = null; TimeSpan ts1 = new TimeSpan(DateTime1.Ticks); TimeSpan ts2 = new TimeSpan(DateTime2.Ticks); TimeSpan ts = ts1.Subtract(ts2).Duration(); dateDiff = ts.Days.ToString()+"天"+ ts.Hours.ToString()+"小时"+ ts.Minutes.ToString()+"分钟"+ ts.Seconds.ToString()+"秒"; return dateDiff; } TimeSpan ts = Date1 - Date2; double dDays = ts.TotalDays;//带小数的天数,比如1天12小时结果就是1.5 int nDays = ts.Days;//整数天数,1天12小时或者1天20小时结果都是1 

/// <summary> /// 日期比较 /// </summary> /// <param name="today">当前日期</param> /// <param name="writeDate">输入日期</param> /// <param name="n">比较天数</param> /// <returns>大于天数返回true,小于返回false</returns> private bool CompareDate(string today, string writeDate, int n) { DateTime Today = Convert.ToDateTime(today); DateTime WriteDate = Convert.ToDateTime(writeDate); WriteDate = WriteDate.AddDays(n); if (Today >= WriteDate) return false; else return true; }

 

示例代码:

<table width="100%" border="1" cellspacing="0" cellpadding="0"> <tr> <td>TimeSpan('T','2002-10-1','2002-1-1')</td> <td> <!-- NoahValue ValueName="TimeSpan('T','2002-10-1','2002-1-1')" --></td> </tr> <tr> <td>TimeSpan('d','2002-10-1','2002-1-1')</td> <td> <!-- NoahValue ValueName="TimeSpan('d','2002-10-1','2002-1-1')" --></td> </tr> <tr> <td>TimeSpan('h','2002-10-1','2002-1-1')</td> <td> <!-- NoahValue ValueName="TimeSpan('h','2002-10-1','2002-1-1')" --></td> </tr> <tr> <td>TimeSpan('u','2002-10-1','2002-1-1')</td> <td> <!-- NoahValue ValueName="TimeSpan('u','2002-10-1','2002-1-1')" --></td> </tr> <tr> <td>TimeSpan('m','2002-10-1','2002-1-1')</td> <td> <!-- NoahValue ValueName="TimeSpan('m','2002-10-1','2002-1-1')" --></td> </tr> <tr> <td>TimeSpan('s','2002-10-1','2002-1-1')</td> <td> <!-- NoahValue ValueName="TimeSpan('s','2002-10-1','2002-1-1')" --></td> </tr> <tr> <td>TimeSpan('D','2002-10-1','2002-1-1')</td> <td> <!-- NoahValue ValueName="TimeSpan('D','2002-10-1','2002-1-1')" --></td> </tr> <tr> <td>TimeSpan('H','2002-10-1','2002-1-1')</td> <td> <!-- NoahValue ValueName="TimeSpan('H','2002-10-1','2002-1-1')" MaxChar="" DChar="" Safety="False" --></td> </tr> <tr> <td>TimeSpan('U','2002-10-1','2002-1-1')</td> <td> <!-- NoahValue ValueName="TimeSpan('U','2002-10-1','2002-1-1')" MaxChar="" DChar="" Safety="False" --></td> </tr> <tr> <td>TimeSpan('M','2002-10-1','2002-1-1')</td> <td> <!-- NoahValue ValueName="TimeSpan('M','2002-10-1','2002-1-1')" MaxChar="" DChar="" Safety="False" --></td> </tr> <tr> <td>TimeSpan('S','2002-10-1','2002-1-1')</td> <td> <!-- NoahValue ValueName="TimeSpan('S','2002-10-1','2002-1-1')" MaxChar="" DChar="" Safety="False" --></td> </tr> <tr> <td>TimeSpan('相差d天h小时','2002-10-1','2002-1-1')</td> <td> <!-- NoahValue ValueName="TimeSpan('相差d天h小时','2002-10-1','2002-1-1')" MaxChar="" DChar="" Safety="False" --></td> </tr> </table>










版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/233688.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 三星识别文字_免费文字识别

    三星识别文字_免费文字识别百度AI实战营收官战(成都站),宣告百度OCR免费策略再次升级。百度通用文字识别服务的免费使用次数提升100倍,从每天500次提升至每天50000次;通用文字识别高精度版的免费使用次数提升10倍,从每天50次提升至每天500次。目前业界通常按照接口调用次数收费,单个接口单次调用费从几分钱到几毛钱不等,百度永久免费开放通用文字识别及其他文字识别技术,实实在在为企业节约一笔不菲的支出。现阶段已…

    2022年5月25日
    50
  • STM32 RT-Thread Nano(3)移植控制台与Finsh

    STM32 RT-Thread Nano(3)移植控制台与Finsh 本文介绍如何基于KeilMDK移植RT-Thread的控制台/Finsh。这样有利于开发过程中的调试,进行输入输出控制。开发平台:KeilMDK5.24硬件平台:XNUCLEO-F103RB 移植系统:RT-ThreadNanoV3.1.3 在Nano上添加UART控制台在RT-ThreadNano上添加UART控制台打印…

    2022年5月20日
    44
  • volatile关键字及其作用

    volatile关键字及其作用概述:本文主要介绍Java语言中的volatile关键字,内容涵盖volatile的保证内存可见性、禁止指令重排等。

    2022年5月31日
    30
  • 图片转换成html代码_java html转图片

    图片转换成html代码_java html转图片1.页面上的图片,转换成base64格式,可以通过canvas的toDataURL例子:给定图片的url将图片转换为base64varimageSrc="../images/

    2022年8月6日
    6
  • eXtremeDB微秒级实时数据库简介「建议收藏」

    eXtremeDB微秒级实时数据库简介「建议收藏」eXtremeDB微秒级实时数据库简介 eXtremeDB实时数据库是美国McObject公司于上世纪九十年代末推出的全世界第一款全内存式实时数据库,特别为高性能、低开销、稳定可靠的极速实时数据管理而设计。 eXtremeDB的性能可以达到微秒一级的惊人速度。eXtremeDB能够达到这样惊人的极限速度,是由其对市场的独特理解、长期的行业经验、持续不断的创新精神和革命性的体系结构等…

    2022年8月31日
    5
  • Vue 箭头函数

    Vue 箭头函数箭头函数1.1认识箭头函数传统定义函数:constaaa=function(parse){}对象字面量中定义函数:constobj={ bbb(parse){ }}Es6中箭头函数;constccc=()=>{}箭头函数的参数和返回值参数问题:放入两个参数:constobj=(num1,num2)=>{retu…

    2022年6月24日
    51

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号