C#提供了很强大的时间函数,本来以为需要调用winapi来获取高精度的时间计数,现在发觉使用c#自带的就可以完成。
C#基本的时间是使用System.DateTime来获取,可以获取当前时间DateTime.now,也可以获取utc时间DateTime.utcNow
Datetime中的ticks属性十分有用,在msdn上写着:A single tick represents one hundred nanoseconds or one ten-millionth of a second. There are 10,000 ticks in a millisecond
该值可以达到100纳秒的精度,即0.1微妙的精度。
同时也可以通过Datetime.now.toString("yyyy-mm-dd-hh-mm-ss-fffffff");来获取精度为100纳秒的时间。
所以在C#中要获取当前系统时间的秒数和微秒数可以使用上述两种方法。一般都是以1970年1月1日作为起始点。
1.使用ticks获取100纳秒数
使用Datetime.utcNow.toString("yyyy-mm-dd-hh-mm-ss-fffffff");
该方法缺点是无法直接获得秒数。