Linux C中strftime()使用

tech2023-08-23  104

size_t strftime(char *s, size_t max, const char *format, const struct tm *tm); 功能:把YYYY-MM-DD HH:MM:SS格式的日期字符串转换成其它形式的字符串。 参数: char *s:存储转换格式的首地址 size_t max:s的最大值 const char *format:格式 const struct tm *tm:时间 它可以用以下的符号对日期和时间进行格式化: %d 日期, 01-31 %f 小数形式的秒,SS.SSS %H 小时, 00-23 %j 算出某一天是该年的第几天,001-366 %m 月份,00-12 %M 分钟, 00-59 %s 从197011日到现在的秒数 %S 秒, 00-59 %w 星期, 0-6 (0是星期天) %W 算出某一天属于该年的第几周, 01-53 %Y 年, YYYY %% 百分号 #include <stdio.h> #include <sys/types.h> #include <time.h> #define MAX_BUFF_SIZE (1024) int main(int argc, const char *argv[]) { time_t stamp = 0; struct tm * tm = NULL; char timeformat[MAX_BUFF_SIZE] = {0}; stamp = time(NULL); tm = localtime(&stamp); strftime(timeformat, MAX_BUFF_SIZE, "%Y-%m-%d %H:%M:%S", tm); puts(timeformat); tm->tm_mday += 1000; mktime(tm); strftime(timeformat, MAX_BUFF_SIZE, "100 days %Y-%m-%d %H:%M:%S", tm); puts(timeformat); return 0; }

测试结果

最新回复(0)