strptime(3)中毫秒使用方法及秒小数部分输入格式符查询
strptime(3)解析秒小数部分的问题
标准的strptime(3)并没有专门用于匹配秒小数部分(比如毫秒)的输入字段描述符,这也是你查文档找不到对应项的原因。
可行的处理方案:
- GNU扩展支持(非标准):部分Linux发行版的GNU strptime实现支持
%N格式符,用来匹配秒的小数部分,你可以通过指定精度数字来匹配固定位数,比如匹配3位毫秒就用%3N,对应的格式串就是%Y/%m/%dT%H:%M:%S.%3NZ。但要注意这个是GNU专属扩展,移植性较差。 - 通用手动处理方法:
- 将时间字符串按
.分割成两部分,前半部分2023/10/04T11:41:03用标准格式串%Y/%m/%dT%H:%M:%S解析到struct tm中。 - 单独提取后半部分的
553字符串,转换成整数后作为毫秒值存储(struct tm本身没有毫秒字段,需要额外变量保存)。
- 将时间字符串按
内容的提问来源于stack exchange,提问作者shintaro202020
相关产品推荐
相关产品推荐

