c语言

C语言怎么设置时间和时区

小亿
434
2023-12-04 20:43:13
栏目: 编程语言

在C语言中,可以使用time.h头文件中的函数来设置时间和时区。

  1. 设置时间:可以使用time()函数来获取当前的系统时间,然后使用localtime()函数将时间转换为结构体tm类型的本地时间,最后可以使用strftime()函数将本地时间格式化为字符串。
#include <stdio.h>
#include <time.h>

int main() {
    time_t t;
    struct tm *local_time;
    char time_str[80];

    // 获取当前系统时间
    t = time(NULL);

    // 转换为本地时间
    local_time = localtime(&t);

    // 格式化为字符串
    strftime(time_str, sizeof(time_str), "%Y-%m-%d %H:%M:%S", local_time);

    printf("当前时间:%s\n", time_str);

    return 0;
}
  1. 设置时区:可以使用tzset()函数来设置时区,时区信息保存在全局变量timezone中。
#include <stdio.h>
#include <time.h>

int main() {
    time_t t;
    struct tm *local_time;
    char time_str[80];

    // 设置时区
    setenv("TZ", "Asia/Shanghai", 1);
    tzset();

    // 获取当前系统时间
    t = time(NULL);

    // 转换为本地时间
    local_time = localtime(&t);

    // 格式化为字符串
    strftime(time_str, sizeof(time_str), "%Y-%m-%d %H:%M:%S", local_time);

    printf("当前时间:%s\n", time_str);

    return 0;
}

注意:时区的设置需要根据操作系统来确定,上面的例子是在Linux下设置的时区为"Asia/Shanghai",在不同的操作系统上可能会有所不同。

0
看了该问题的人还看了