如何从C程序中获取系统时间

时间:2015-04-09 09:53:20

标签: c

如何从C程序中获取系统时间?我可以使用gettimeoftheday吗?如果有人有C程序可以做到这一点请分享,我是新手。谢谢

一些示例代码

#include <sys/time.h>
#include <time.h>
#include <stdlib.h>
#include <stdio.h>

int main(void)
{
  char buffer[30];
  struct timeval tv;

  time_t curtime;



  gettimeofday(&tv, NULL); 
  curtime=tv.tv_sec;

  strftime(buffer,30,"%m-%d-%Y  %T.",localtime(&curtime));
  printf("%s%ld\n",buffer,tv.tv_usec);

  return 0;



}

2 个答案:

答案 0 :(得分:0)

您可以使用strftime仅获取分钟部分:

#include <time.h>
#include <stdlib.h>
#include <stdio.h>

int main(void)
{
  char buffer[0x100];
  time_t curtime;

  // Don't forget to check the return value !
  curtime = time(NULL);
  if (curtime == -1)
  {
    perror("time()");
    return 1;
  }

  strftime(buffer,0x100,"%M",localtime(&curtime));
  printf("minutes: %s\n", buffer);

  return 0;
}

此处无需使用gettimeofday,只有在您希望精度优于秒时才使用它。

答案 1 :(得分:0)

#include <stdio.h>
#include <time.h>

int main()
{
    time_t curtime;
    char buffer[30];
    struct tm* tm_info;

    time(&curtime);
    tm_info = localtime(&curtime);

    strftime(buffer, 30, "%Y-%m-%d %H:%M:%S", tm_info);
    puts(buffer);

    return 0;
}

%Y: - 将打印年份 %m: - 将打印月份 %d: - 将打印日 %H: - 将打印小时
%M: - 将打印分钟
%S: - 将打印第二个