您的位置:首页 > 其它

关于DateTime的AddTicks方法

2015-10-16 02:11 267 查看
学习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()有啥用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: