C#时间戳转换问题,为什么要减去7个0呢

RT
DateTime dtStart = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970,1,1));
DateTime dtNow = DateTime.Parse(DateTime.Now.ToString());
TimeSpan toNow = dtNow.Subtract(dtStart);
string timeStamp = toNow.Ticks.ToString();
timeStamp = timeStamp.Substring(0,timeStamp.Length - 7);
Response.Write(timeStamp);
这是网上的时间戳转换方法,为什么要减去7个0呢?

1秒=1000毫秒

1毫秒=1000微秒

1微秒=1000纳秒

c#中TimeSpan是以100纳秒(为一个tick)为一个单位换算的

1秒=1000*1000*1000ns=1000*1000*10*100ns,所以是7位

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-02-28
1秒=1000毫秒
1毫秒=1000纳秒
1000*1000=1000000 正好是7位吧
减去后面的 就是相当于进制转换了 不过substring要比转换成数值在运算相对要高效些
普通输出不用那么精确
明白了吗本回答被提问者采纳