在編程前要知道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