开始PlayBook NDK编程,在发现前所未有的发挥空间之余,同时也发现底层工作需要考虑越来越多,这个世界就是充满着矛盾结合体。
其中的一项底层工作就是如何获取系统时间。
在PlayBook NDK中可以通过系统定义好的<time.h>头文件引入时间相关的函数,include代码如下:
#include <time.h>
该头文件中定义了clock_gettime函数用于获取当前时间,定义如下:
extern int clock_gettime(clockid_t __clock_id, struct timespec *__tp);
其中参数__clock_id是时钟类型,同样在time.h中定义,CLOCK_REALTIME为实际时间;参数*__tp是指向timespec结构的指针,用于保存所获取的时间信息。
代码中的实际使用方式如下:
struct timespec timeNow; clock_gettime( CLOCK_REALTIME, &timeNow); time_t second=timeNow.tv_sec; long nsec=timeNow.tv_nsec;
首先定义timespec结构变量timeNow,然后将timeNow指针传递给clock_gettime函数。
获取到时间后,timeNow的成员tv_sec中保存的是系统时间,值是从1970年以来的经过的秒数。
timeNow的成员tv_nsec中保存的是当前这秒钟内已经过去的纳秒数,类型为长整形,通过该值的计算可以获取当前的毫秒数。