“Fri, 12 Sep 2014 05:00:23 GMT”,SimpleDateFormat 有什么问题?
SimpleDateFormat sdf = new SimpleDateFormat(format);
sdf.parse(dateString);
format: "EEE, dd MMM yyyy HH:mm:ss 'GMT'"
dateString:"Fri, 12 Sep 2014 05:00:23 GMT"
怎么了?
最佳答案
假设您的问题是日期显示错误,时区的 SimpleDateFormat
转换说明符是 z
而不是 'GMT'
(尽管您可以对其他两个变体使用 Z
和 X
,分别是 RFC822 和 ISO8601)。
根据你的说明符,我得到了凌晨 5 点的本地时间。如果我在我的代码中使用正确的说明符,它工作正常:
import java.text.SimpleDateFormat;
import java.util.Date;
public class Test {
public static void main (String[] args) {
String format = "EEE, dd MMM yyyy HH:mm:ss z";
String date = "Fri, 12 Sep 2014 05:00:23 GMT";
SimpleDateFormat sdf = new SimpleDateFormat(format);
try {
Date dt = sdf.parse(date);
System.out.println(dt);
} catch (Exception e) {
e.printStackTrace();
}
}
}
该程序的输出(对于西澳大利亚珀斯,即 UTC+8)如预期的那样:
Fri Sep 12 13:00:23 WST 2014
参见 SimpleDateFormat
online documentation了解更多详情。
如果您仍然遇到问题,请尝试从您的格式和日期字符串中删除个别项目,直到它开始工作。一旦您确定了有问题的格式说明符,就会更容易追踪。
关于android - "Fri, 12 Sep 2014 05:00:23 GMT",SimpleDateFormat 有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25801101/