Csharp/C#教程:timespan使用方法详解分享

几点重要的用法:
a先来介绍几个方法
TimeSpan.Minutes(其他时间比如天数,小时数,秒数都一样的情况下得到的分钟数的差),其他的Hours,Second一样
DateTime.Tick:是一个计时周期,表示一百纳秒,即一千万分之一秒,那么Ticks在这里表示总共相差多少个时间周期,即:9*24*                   3600*10000000+23*3600*10000000+59*60*10000000+59*10000000=8639990000000。3600是一小时                   的秒数
TimeSpan.TotalDays:两个时间段相差的日数,其他的TotalHours,TotalMinutes,TotalSeconds一样
b两个时间的差
代码如下:
stringtime1=”2010-5-268:10:00″;
stringtime2=”2010-5-2618:20:00″;
DateTimet1=Convert.ToDateTime(time1);
DateTimet2=Convert.ToDateTime(time2);
TimeSpants1=t2-t1;
stringtsMin=ts1.Minutes.ToString();
 
TimeSpants11=newTimeSpan(t1.Tick);
TimeSpants22=newTimeSpan(t2.Tick);
stringdiff=ts22.Subtract(ts11).TotalMinutes.ToString();

Subtract:表示两个时间段的差
diff:就表示两个时间相差的分钟数,上面的例子就是610分钟。
 得到一个TimeSpan实例,TimeSpan有一些属性:Days、TotalDays、Hours、TotalHours、Minutes、TotalMinutes、Seconds、TotalSeconds、Ticks,注意没有TotalTicks。
这些属性名称开始理解有些困难,但阅读本文后,相应您一定茅塞顿开。

举例说明

时间1是2010-1-28:43:35;
时间2是2010-1-128:43:34。
用时间2减时间1,得到一个TimeSpan实例。

那么时间2比时间1多9天23小时59分59秒。

那么,Days就是9,Hours就是23,Minutes就是59,Seconds就是59。

所以以后想知道两个时间段的差就容易的多了

TimeSpanFormatHelper

代码如下:
usingSystem;
usingSystem.Collections.Generic;

classTimeSpanUtility
{
   publicstaticstringFormatString(TimeSpanaTimeSpan)
   {
       stringnewFormat=aTimeSpan.ToString(“d’d’h’h’m’m’s’s'”);
       //1d3h43m23s

       returnnewFormat;
   }

   publicstaticstringTimeSpanInWords(TimeSpanaTimeSpan)
   {
       List<string>timeStrings=newList<string>();

       int[]timeParts=new[]{aTimeSpan.Days,aTimeSpan.Hours,aTimeSpan.Minutes,aTimeSpan.Seconds};
       string[]timeUnits=new[]{“day”,”hour”,”minute”,”second”};

       for(inti=0;i<timeParts.Length;i++)
       {
           if(timeParts[i]>0)
           {
               timeStrings.Add(string.Format(“{0}{1}”,timeParts[i],Pluralize(timeParts[i],timeUnits[i])));
           }
       }

       returntimeStrings.Count!=0?string.Join(“,”,timeStrings.ToArray()):”0seconds”;
   }

   privatestaticstringPluralize(intn,stringunit)
   {
       if(string.IsNullOrEmpty(unit))returnstring.Empty;

       n=Math.Abs(n);//-1shouldbesingular,too

       returnunit+(n==1?string.Empty:”s”);
   }
}

publicclassClient
{
   staticvoidMain()
   {
       //12days,23hours,24minutes,2seconds.
       TimeSpanspan=newTimeSpan(12,23,24,2);

       Console.WriteLine(TimeSpanUtility.TimeSpanInWords(span));  //Output:12days,23hours,24minutes,2seconds
       Console.WriteLine(TimeSpanUtility.FormatString(span)); //Output:12d23h24m2s
   }
}

您可能感兴趣的文章:简单易用的倒计时js代码VB实现的倒计时类代码详解Android实现加载广告图片和倒计时的开屏布局Delphi实现毫秒级别的倒计时实例代码jquery实现倒计时代码分享php+js实现倒计时功能C#实现线程安全的简易日志记录方法C#与js实现去除textbox文本框里面重复记录的方法C#实现获取一年中是第几个星期的方法C#基于TimeSpan实现倒计时效果的方法

标签: span spa pan 方法 time esp tim mes

C语言中等待socket连接和对socket定位的方法

C语言中经socket接收数据的相关函数详解

上述就是C#学习教程:timespan使用方法详解分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/905436.html

(0)
上一篇 2021年10月22日
下一篇 2021年10月22日

精彩推荐