关于DateTime的AddTicks方法

学习DateTime的时候,瞥见一眼下面的代码

DateTime dt= DateTime.Now;
Console.WriteLine(dt.AddTicks(2000).ToString());

然而并不知道AddTicks是什么玩意。好奇心使然,看了下说明,定义这么写的

 //
        // 摘要: 
        //     返回一个新的 System.DateTime,它将指定的计时周期数加到此实例的值上。
        //
        // 参数: 
        //   value:
        //     以 100 纳秒为单位的计时周期数。value 参数可以是正数也可以是负数。
        //
        // 返回结果: 
        //     System.DateTime,其值是此实例所表示的日期和时间与 value 所表示时间之和。
        //
        // 异常: 
        //   System.ArgumentOutOfRangeException:
        //     所生成的 System.DateTime 小于 System.DateTime.MinValue 或大于 System.DateTime.MaxValue。
        public DateTime AddTicks(long value);


写一段试试啥效果:

using System;

namespace TestAddTicks
{
    class Program
    {
        static void Main(string[] args)
        {
            DateTime dt = DateTime.Parse("2015/05/20 15:15:15.865");
            Console.WriteLine(dt.AddTicks(2000).ToString());
            Console.WriteLine(dt.ToString());
            Console.ReadKey();
        }
    }
}

运行得到下面


貌似值没有发生改变,常识不足的我更糊涂了,100纳秒和秒怎么换算?查了下得到下面这张表


要让输出结果多1秒就是10^9纳秒,除以100为10^7=10,000,000,

AddTicks()括号里面写20,000,000才时间差能加2秒

using System;

namespace TestAddTicks
{
    class Program
    {
        static void Main(string[] args)
        {
            DateTime dt = DateTime.Parse("2015/05/20 15:15:15.865");
            Console.WriteLine(dt.AddTicks(20000000).ToString());
            Console.WriteLine(dt.ToString());
            Console.ReadKey();
        }
    }
}

运行结果:


果然差两秒,不过现在不知道这个AddTicks()有啥用。


  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值