bas*_*ero 9 java rss formatting date atom-feed
[更新了工作解决方案]我有一个RSS源,可以在RSS客户端中正确显示,但是当被http://feedvalidator.org验证时,我收到此错误:
pubDate must be an RFC-822 date-time
Run Code Online (Sandbox Code Playgroud)
我的日期格式如下:
Wed, 27 Feb 2013 17:18:15 CET
知道什么可能是错的吗?可能是时区吗?
感谢Calum我现在获得了一个有效的RSS提要.原因是CET
没有得到支持pubDate
.
以下Java代码现在正常工作:
String pubDate = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss Z").format(new Date());
Run Code Online (Sandbox Code Playgroud)
RFC表明它只支持一组非常有限的符号时区名称; 只是UTC和美国的:
zone = "UT" / "GMT" ; Universal Time
; North American : UT
/ "EST" / "EDT" ; Eastern: - 5/ - 4
/ "CST" / "CDT" ; Central: - 6/ - 5
/ "MST" / "MDT" ; Mountain: - 7/ - 6
/ "PST" / "PDT" ; Pacific: - 8/ - 7
/ 1ALPHA ; Military: Z = UT;
; A:-1; (J not used)
; M:-12; N:+1; Y:+12
/ ( ("+" / "-") 4DIGIT ) ; Local differential
; hours+min. (HHMM)
Run Code Online (Sandbox Code Playgroud)
您可能需要指定为UTC的偏移量.
由于您说您正在使用Java,因此如果您使用时间格式(而不是)格式化区域,SimpleDateFormat似乎会为您提供符合RFC-822的日期.Z
z
您必须Z
像Calum所说的那样使用格式化时区,但是不要忘记指定时区,Locale
否则如果计算机不是英语则它将无法工作...
这是我的工作代码:
new SimpleDateFormat("E, d MMM yyyy HH:mm:ss Z", Locale.US).format(new Date());
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
6997 次 |
最近记录: |