繁体   English   中英

RSS 2.0 Feed中的RFC-822日期时间格式:不接受CET?

[英]RFC-822 date-time format in RSS 2.0 feeds: CET not accepted?

[更新了工作解决方案]我有一个RSS源,可以在RSS客户端中正确显示,但是当被http://feedvalidator.org验证时,我收到此错误:

pubDate must be an RFC-822 date-time

我的日期格式如下:

Wed, 27 Feb 2013 17:18:15 CET

知道什么可能是错的吗? 可能是时区吗?

感谢Calum我现在获得了一个有效的RSS提要。 原因是pubDate不支持CET

以下Java代码现在正常工作:

String pubDate = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss Z").format(new Date());

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)

您可能需要指定为UTC的偏移量。

既然你说你正在使用Java,那么如果你使用Z来格式化你的时间格式(而不是z )的区域, SimpleDateFormat看起来会给你一个符合RFC-822的日期。

您必须使用Z来格式化时区,如Calum所说,但不要忘记指定Locale ,否则如果计算机不是英语,它将无法工作...

这是我的工作代码:

new SimpleDateFormat("E, d MMM yyyy HH:mm:ss Z", Locale.US).format(new Date());

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM