sscanf 取出2024-09-24T08:35:11Z 的数字
时间: 2024-09-24 10:28:30 浏览: 38
C语言函数sscanf 的用法-综合文档
`sscanf` 是 C 语言标准库中的函数,用于从字符串中按照指定格式读取数据到给定的变量。如果你想从类似 "2024-09-24T08:35:11Z" 这样的时间字符串中取出各个部分(年、月、日、小时、分钟、秒等),你需要先确定格式化字符串,然后使用 `sscanf`。
例如,如果你的时间格式固定为 "YYYY-MM-DDTHH:MM:SSZ",你可以使用如下的格式字符串:
```c
char time_str[] = "2024-09-24T08:35:11Z";
int year, month, day, hour, minute, second;
char tz[4]; // 略过时区信息
// 格式化字符串
const char *fmt = "%4d-%02d-%02dT%02d:%02d:%02dZ";
// 使用 sscanf 读取
if (sscanf(time_str, fmt, &year, &month, &day, &hour, &minute, &second, tz) == 7) {
printf("Year: %d, Month: %d, Day: %d, Hour: %d, Minute: %d, Second: %d\n", year, month, day, hour, minute, second);
} else {
printf("Failed to parse the time string.\n");
}
```
在这个例子中,`%4d` 表示读取四位数的整数代表年份,`%02d` 表示占两位但不足时用零填充的十进制数,以此类推。`T` 和 `Z` 分别表示时间分隔符和时区标记,不需要读取。
阅读全文