我很惊讶未能找到如何将 Java Date 对象转换为有效的字符串 HTTP If-Modified-Since日期格式。
我找到了 question about data format它回答了什么 格式,但没有回答如何 生成该格式。
我找到的最接近的解决方案是 new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss zzz");
,但是它不起作用,因为 HTTP 服务器只接受 GMT时区。
解决方案是要么正确添加时区信息(不引起时移),要么根据当前时区信息手动应用时移,并手动附加“GMT”。
但我很难相信没有效用函数可以做到这一点。至少 Apache HttpCommons 应该有这样的代码。这不是火箭科学。它是与 Http Server 配合所需的基本功能之一。
我谷歌搜索失败了吗?生成 If-Modified-Since header 的最简单可靠的方法是什么?
最佳答案
您可以使用 org.apache.http.impl.cookie.DateUtils .
使用的方法是formatDate(Date date, String pattern) - 字符串模式允许 RFC 1036、RFC 1123(在同一类中声明的常量)。
如果你需要依赖:
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.3.3</version>
</dependency>
编码愉快!!
关于java - 如何将 Java 日期转换为 HTTP If-Modified-Since 日期格式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57409904/