将C的'Sat,24 Nov 2018 00:34:57 GMT'转换为毫秒

时间:2018-11-24 00:48:35

标签: c linux

对此进行了尝试,但返回NULL。

struct tm *t = getdate("Sat, 24 Nov 2018 00:34:57 GMT");

我需要这个来解析HTTP响应头。​​

我相信此处的日期/时间格式称为RFC 7231。

1 个答案:

答案 0 :(得分:0)

getdate在失败时返回NULL并将错误代码存储在全局变量getdate_err中。各种错误代码的含义可以在这里找到:https://linux.die.net/man/3/getdate_err

最常见的错误是错误代码1,“未定义DATEMSK环境变量,或者其值为空字符串。”为了使getdate在Linux上工作,它希望您有一个包含getdate字符串格式的文件,并希望环境变量DATEMSK指向该文件。

一种更简单的方法是使用strptime,详情请参见此答案:What is an easy way to parse a date Http Header in C?