学习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()有啥用。