C# Datetime.Ticks将时间转换成以秒为单位与格林尼治时间(转)

在编程前要知道C#中TimeSpan.Ticks到底是多大:
TICK最小的时间单位刻度,相当于100奈秒(1奈秒等于十亿分之一秒)。刻度可正可负。
下面举个C#例子计算下两个日期的时间差吧。
DateTime dt = new DateTime(1970, 1, 1);
TimeSpan d =DateTime.Parse("2011/12/24 9:41:40")- dt;
long seconddiff =d.Ticks/10000000;
计算得到的d.ticks的单位为奈秒,要转换成秒就必须除以1000000000;计算结果为1324719700;
那反过来已知日期,求与这个日期相差的N秒的日期,就是先将已经日期的秒数求出,再与相差的秒数相加就可以了。
求与日期为1970年1月1日相差秒数为1324719700的日期是多少?
DateTime dt = new DateTime(1970, 1, 1);
DateTime ts=new DateTime (dt.Ticks + 1324719700);
MessageBox.Show(ts.ToString ("yyyy/MM/dd hh:mm:ss"));

得到结果为2011/12/24 9:41:40

转载:原网址:https://blog.csdn.net/tyxkzzf/article/details/49132237

下面是我的理解,在程序中可以用到的换算关系

1毫秒==10,000个DateTime.Now.Ticks;

举例子:

time是毫秒数,nowtime是DateTime.Now.Ticks,那么经过time后的nowtime的计算方式如下,

nowtime += time * 10000;

猜你喜欢

转载自blog.csdn.net/yuhan61659/article/details/80270339