在C语言中,要按照RFC 1123格式打印格林威治时间(包括完整的星期名称、日期、月份、年份、小时、分钟和秒),你需要使用strftime函数,并且指定相应的格式化字符串。以下是一个示例代码:
#include <stdio.h>
#include <time.h>
int main() {
// 获取当前时间
time_t now = time(NULL);
// 创建一个用于格式化时间的结构体
struct tm *tm_info = gmtime(&now);
// 创建一个用于存储格式化后的时间的缓冲区
char time_str[50];
// 使用strftime函数格式化时间
strftime(time_str, sizeof(time_str), "%a, %d %b %Y %H:%M:%S GMT", tm_info);
// 打印格式化后的时间
printf("当前时间:%s\n", time_str);
return 0;
}
在这个示例代码中,我们首先使用time
函数获取当前时间,并将其存储在now
变量中。然后,我们使用gmtime
函数将now
转换为格林威治时间,并将结果存储在tm_info
指针中。
接下来,我们创建一个长度为50的字符数组time_str
,用于存储格式化后的时间。然后,我们使用strftime
函数将格林威治时间格式化为RFC 1123格式,并存储在time_str
中。在这个格式化字符串中,%a
表示星期的缩写名称,%d
表示日期,%b
表示月份的缩写名称,%Y
表示年份,%H
表示小时(24小时制),%M
表示分钟,%S
表示秒,GMT
表示格林威治时间。
最后,我们使用printf
函数打印格式化后的时间。输出结果类似于以下格式:
当前时间:Wed, 19 Jul 2023 12:34:56 GMT