Java 简单的HTTP框架和时间问题

Java 简单的HTTP框架和时间问题,java,http,date,http-headers,Java,Http,Date,Http Headers,我正在为我最近的项目使用,系统生成的日期头有问题。我可以从Date类正确地获取本地时间,但Simple响应类的setDate方法以毫秒为单位设置日期,当我通过调用System.currentTimeInMillis来设置日期时,响应头中的日期不正确。有没有办法用简单的框架来解决这个问题?如果不是,除了用日期字符串调用set方法,我还能做什么?先谢谢你 编辑:标题中的日期位于错误的时区。我还尝试了Calendar.getInstance.getTimeInMilis方法。您尝试了Calendar对

我正在为我最近的项目使用,系统生成的日期头有问题。我可以从Date类正确地获取本地时间,但Simple响应类的setDate方法以毫秒为单位设置日期,当我通过调用System.currentTimeInMillis来设置日期时,响应头中的日期不正确。有没有办法用简单的框架来解决这个问题?如果不是,除了用日期字符串调用set方法,我还能做什么?先谢谢你

编辑:标题中的日期位于错误的时区。我还尝试了Calendar.getInstance.getTimeInMilis方法。

您尝试了Calendar对象吗?通过调用其getTimeInMillis方法,可以轻松地将其转换为毫秒:


你的日期是格林尼治标准时间吗?如果不是,那么他们在干什么。不要忘记HTTP/1.1规范说明了以下内容

RFC 2616 HTTP/1.1 1999年6月

所有HTTP日期/时间戳必须以格林威治标准时间表示 格林尼治标准时间,毫无例外。就HTTP而言,GMT完全是 等于UTC协调世界时。这一点在 前两种格式包含GMT作为三个字母 时区的缩写,在阅读 asctime格式。HTTP日期区分大小写,不能包含 除本协议中明确包含的SP以外的其他LW 语法


标题中的日期有什么不正确的地方-是正确的时间,但在错误的时区?或者完全不正确?他们在UTC,我想,我生活在GMT+3时区,最后修改的响应标题提前了3小时,这可能会导致浏览器出现缓存问题。如果你生活在GMT+3,HTTP/1.1响应中的日期:和最后修改的:应该是3小时。您的缓存将知道,因为所有HTTP/1.1头必须是包含时区的RFC1123格式。例如,来自RFC2616,Sun,1994年11月6日08:49:37 GMT。哦,我明白了,所以当涉及到浏览器缓存时,我不必担心时区,因为它是HTTP实现中的标准,非常感谢!
Calendar.getInstance().getTimeInMillis()