在C语言中,可以使用time.h头文件中的time函数来获取从Unix纪元开始经过的秒数。然后,可以使用sys/time.h头文件中的gettimeofday函数来获取当前时间的微秒数。通过将秒数乘以1000并加上微秒数的千分之一,即可得到从Unix纪元开始经过的毫秒数。
以下是一个示例代码:
#include <stdio.h>
#include <sys/time.h>
#include <time.h>
long long getCurrentTimeMillis() {
struct timeval tv;
gettimeofday(&tv, NULL);
long long milliseconds = (tv.tv_sec * 1000) + (tv.tv_usec / 1000);
return milliseconds;
}
int main() {
long long currentTimeMillis = getCurrentTimeMillis();
printf("从Unix纪元开始经过的毫秒数:%lld\n", currentTimeMillis);
return 0;
}
在上述代码中,getCurrentTimeMillis函数使用gettimeofday函数获取当前时间的秒数和微秒数,并将其转换为毫秒数。然后,main函数调用getCurrentTimeMillis函数并打印结果。
这种方法可以在不将秒乘以1000的情况下获取从Unix纪元开始经过的毫秒数。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云