PlayBook NDK编程如何获取系统时间


开始PlayBook NDK编程,在发现前所未有的发挥空间之余,同时也发现底层工作需要考虑越来越多,这个世界就是充满着矛盾结合体。

其中的一项底层工作就是如何获取系统时间。

在PlayBook NDK中可以通过系统定义好的<time.h>头文件引入时间相关的函数,include代码如下:

  1. #include <time.h>  

该头文件中定义了clock_gettime函数用于获取当前时间,定义如下:

  1. extern int clock_gettime(clockid_t __clock_id, struct timespec *__tp);  

其中参数__clock_id是时钟类型,同样在time.h中定义,CLOCK_REALTIME为实际时间;参数*__tp是指向timespec结构的指针,用于保存所获取的时间信息。

代码中的实际使用方式如下: 

  1. struct timespec timeNow;  
  2.   
  3. clock_gettime( CLOCK_REALTIME, &timeNow);  
  4.   
  5. time_t second=timeNow.tv_sec;  
  6. long  nsec=timeNow.tv_nsec;   

首先定义timespec结构变量timeNow,然后将timeNow指针传递给clock_gettime函数。

获取到时间后,timeNow的成员tv_sec中保存的是系统时间,值是从1970年以来的经过的秒数。

timeNow的成员tv_nsec中保存的是当前这秒钟内已经过去的纳秒数,类型为长整形,通过该值的计算可以获取当前的毫秒数。

相关内容