在 Java/Android 中获取年、月、日和时间形式 "Tue, 12 Jan 2016 09:40:07 GMT"
get year, month, day and time form "Tue, 12 Jan 2016 09:40:07 GMT" in Java/Android
我知道这类问题在很多网站上问了很多时间。
直到我没有得到解决方案,这就是为什么我把这个问题放在这里。
我想要日期格式的年、月、日、日期和时间
2016 年 1 月 12 日星期二09:40:07格林威治标准时间
我正在从 HttpResponse header 获取此日期格式,并需要此日期格式的年、月、日、日期。
我正在使用但未获得实际价值的以下代码:
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
将日历实例的时区设置为 GMT。
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(TimeZone.getTimeZone("GMT")); // set correct timezone to calendar
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();
}
您正在使用 calendar.YEAR
、calendar.MONTH
和 calendar.DATE
,日历 class 包含静态 YEAR, MONTH and DATE
变量,因此它打印这些变量的值 即 1,2 和 5。
而不是使用它:
System.out.println("YEAR: " + calendar.get(Calendar.YEAR));
System.out.println("MONTH: " + calendar.get(Calendar.MONTH));
System.out.println("DATE: " + calendar.get(Calendar.DATE));
我知道这类问题在很多网站上问了很多时间。 直到我没有得到解决方案,这就是为什么我把这个问题放在这里。
我想要日期格式的年、月、日、日期和时间
2016 年 1 月 12 日星期二09:40:07格林威治标准时间
我正在从 HttpResponse header 获取此日期格式,并需要此日期格式的年、月、日、日期。
我正在使用但未获得实际价值的以下代码:
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
将日历实例的时区设置为 GMT。
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(TimeZone.getTimeZone("GMT")); // set correct timezone to calendar
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();
}
您正在使用 calendar.YEAR
、calendar.MONTH
和 calendar.DATE
,日历 class 包含静态 YEAR, MONTH and DATE
变量,因此它打印这些变量的值 即 1,2 和 5。
而不是使用它:
System.out.println("YEAR: " + calendar.get(Calendar.YEAR));
System.out.println("MONTH: " + calendar.get(Calendar.MONTH));
System.out.println("DATE: " + calendar.get(Calendar.DATE));