【发布时间】:2016-04-16 22:49:05
【问题描述】:
我知道这类问题在很多网站上问了很多时间。 直到我没有得到解决方案,这就是我在这里提出这个问题的原因。
我想要日期格式的年、月、日、日期和时间
格林威治标准时间 2016 年 1 月 12 日星期二 09:40:07
我正在从 HttpResponse 标头中获取此日期格式,并且需要此日期格式的年、月、日、日期。
以下代码我正在使用但没有获得真正的价值:
SimpleDateFormat dateFormat = new SimpleDateFormat("E, dd MMM yyyy HH:mm:ss Z");
Date date;
try {
date = dateFormat.parse(header.getValue());// here we are getting date in format "Tue, 12 Jan 2016 09:40:07 GMT"
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
System.out.println("YEAR: " + calendar.YEAR);
System.out.println("MONTH: " + calendar.MONTH);
System.out.println("DATE: " + calendar.DATE);
} catch (ParseException e) {
e.printStackTrace();
}
我也试过这个:
1.
Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("GMT"));
2.
Calendar calendar = Calendar.getInstance();
calendar.setTimeZone(TimeZone.getTimeZone("GMT"));
但以上所有代码都给出以下结果:
YEAR: 1
MONTH: 2
DATE: 5
【问题讨论】:
-
仅供参考,
java.util.Date、java.util.Calendar和java.text.SimpleDateFormat等麻烦的旧日期时间类现在已被 java.time 类所取代。大多数 java.time 功能在 ThreeTen-Backport 项目中被反向移植到 Java 6 和 Java 7。在ThreeTenABP 项目中进一步适用于早期的Android。见How to use ThreeTenABP…。
标签: java date simpledateformat android-date