当前位置:  编程技术>.net/c#/asp.net

C#中计算时间差中的小数问题解决

    来源: 互联网  发布时间:2014-10-17

    本文导语:  问题: startTime = DateTime.Now;            -----------slExecutedTime.Text = (DateTime.Now - startTime).ToString();执行结果:已执行:00:00:03.1234434(后面会多出很多的小数位)想要的执行结果:已执行:00:00:03 --------------------------------------------...

问题:

startTime = DateTime.Now;           
-----------
slExecutedTime.Text = (DateTime.Now - startTime).ToString();
执行结果:
已执行:00:00:03.1234434(后面会多出很多的小数位)
想要的执行结果:
已执行:00:00:03

--------------------------------------------------------------------------------

解决方案一(推荐):

TimeSpan的相关属性:

代码如下:

相关属性和函数
Add:与另一个TimeSpan值相加。
Days:返回用天数计算的TimeSpan值。
Duration:获取TimeSpan的绝对值。
Hours:返回用小时计算的TimeSpan值
Milliseconds:返回用毫秒计算的TimeSpan值。
Minutes:返回用分钟计算的TimeSpan值。
Negate:返回当前实例的相反数。
Seconds:返回用秒计算的TimeSpan值。
Subtract:从中减去另一个TimeSpan值。
Ticks:返回TimeSpan值的tick数。
TotalDays:返回TimeSpan值表示的天数。
TotalHours:返回TimeSpan值表示的小时数。
TotalMilliseconds:返回TimeSpan值表示的毫秒数。
TotalMinutes:返回TimeSpan值表示的分钟数。
TotalSeconds:返回TimeSpan值表示的秒数。

代码如下:

///
        /// 程序执行时间测试
        ///
        /// 开始时间
        /// 结束时间
        /// 返回(秒)单位,比如: 0.00239秒
        public static string ExecDateDiff(DateTime dateBegin, DateTime dateEnd)
        {
            TimeSpan ts1 = new TimeSpan(dateBegin.Ticks);
            TimeSpan ts2 = new TimeSpan(dateEnd.Ticks);
            TimeSpan ts3 = ts1.Subtract(ts2).Duration();
            //你想转的格式
            return ts3.TotalMilliseconds.ToString();
        }

这是最基本的,得到的是毫秒数
如果你是只单纯的需要你的那种格式完全可以直接取前10位就行了

ts3.ToString("g")   0:00:07.171
ts3.ToString("c")   00:00:07.1710000
ts3.ToString("G")   0:00:00:07.1710000
有三种格式可以选择,我建议如果需要其实一种的时候可以使用截取的试比较快捷
比如

代码如下:

ts3.ToString("g").Substring(0,8)   0:00:07.1
ts3.ToString("c").Substring(0,8)   00:00:07
ts3.ToString("G").Substring(0,8)   0:00:00

方案二:较繁琐

代码如下:

#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();
                string hours = ts.Hours.ToString(), minutes = ts.Minutes.ToString(),seconds = ts.Seconds.ToString();
                if(ts.Hours

    
 
 

您可能感兴趣的文章:

  • C#递归实现显示文件夹及所有文件并计算其大小的方法
  • C#根据年月日计算星期几的函数小例子
  • C#获取计算机名,IP,MAC信息实现代码
  • C#由当前日期计算相应的周一和周日的实例代码
  • C#计算两个文件的相对目录算法的实例代码
  • C#计算两个时间差的方法代码分享
  • C#计算代码执行时间的方法
  • c#入门之实现简易存款利息计算器示例
  • C#和SQL实现的字符串相似度计算代码分享
  • c#日期间隔计算示例
  • c# DateTime常用操作实例(datetime计算时间差)
  • C#通过经纬度计算2个点之间距离的实现代码
  • C#中控制远程计算机的服务的方法
  • C#编写的windows计算器的实例代码
  • sql计算时间差
  • mysql计算时间差函数
  • Php计算时间差 php日期转换的例子
  • php计算两个日期时间差(返回年、月、日)
  • 在Oracle9i中Oracle DATA计算时间差
  • PHP计算时间差的示例代码
  • 在JSP下如何计算时间差
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • lbs基于位置服务(Location Based Service)中如何计算二点距离
  • Java计算机代数计算工具 Symja
  • 基于Docker容器的云计算平台搭建实战
  • rsync客户端如何从远程计算机上传输多个文件到本地计算机?
  • 云计算之Docker容器技术如何落地?
  • 可信计算你知道嘛?红旗的可信计算你知道嘛?
  • numpy官方下载安装以及numpy详细使用教程(Python科学计算)
  • php计算日期相差天数(日期计算)代码
  • 根据身份证号码计算出生日期、年龄、性别(18位) 根据入职时间计算工龄。
  • 求救:配置samba后,在Win9x计算机上能搜索到Linux计算机,但网上邻居里处看不到,这是为什么?
  • 计算机代数系统 Maxima
  • Android 房贷计算器 houseloan
  • C++数值计算核心库 Zero
  • 关于计算机方面的论文?
  • lbs基于位置服务(Location Based Service)中如何计算二点距离 iis7站长之家
  • 高精度浮点计算器 Genius
  • Linux计算器 Extcalc
  • C++符号计算库 GiNaC
  • 计算几何算法库 CGAL
  • Linux里计算器的一个问题 关于效率的!
  • 可编程计算器 phoc




  • 特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3