如何在正确的时区 java 中解析时间?
How to parse time in correct timezone java?
我正在解析一个时间戳,它是一个字符串,如下所示:
Date receivedDateObj = new Date();
String inputDate = "Fri, 31 Dec 1999 23:59:59";
SimpleDateFormat formatter = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss");
try {
System.out.println(inputDate);
formatter.setTimeZone(TimeZone.getTimeZone("UTC"));
receivedDateObj = formatter.parse(inputDate);
}catch (ParseException e) {
}
System.out.println(receivedDateObj);
日期被正确解析,但是当我打印日期时,它打印出以下内容:
Fri Dec 31 18:59:59 EST 1999
如何让它打印 GMT 而不是 EST?为什么尽管我使用以下设置时区仍未设置?
formatter.setTimeZone(TimeZone.getTimeZone("UTC"));
一个java.util.Date
对象没有时区信息。这是一个固定的时间点。转储到控制台只使用 Date.toString();
,它使用 JVM 的时区来执行格式。如果您想将固定的即时时间转换回特定时区的 'human' 表示,只需通过格式化程序以另一种方式将其发回即可。
System.out.println(formatter.format(receivedDateObj));
我建议你使用 joda 时间库。此 API 包含一些漂亮的 类 来实现您愿意做的事情:DateTimeFormat、DateTimeZone...在我看来,这是 java 中最好的日期 API。
java文档非常详尽,网上有很多示例(当然包括 Whosebug)。
来源:
http://www.joda.org/joda-time/
http://joda-time.sourceforge.net/apidocs/org/joda/time/DateTimeZone.html
http://joda-time.sourceforge.net/apidocs/org/joda/time/format/DateTimeFormat.html
我正在解析一个时间戳,它是一个字符串,如下所示:
Date receivedDateObj = new Date();
String inputDate = "Fri, 31 Dec 1999 23:59:59";
SimpleDateFormat formatter = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss");
try {
System.out.println(inputDate);
formatter.setTimeZone(TimeZone.getTimeZone("UTC"));
receivedDateObj = formatter.parse(inputDate);
}catch (ParseException e) {
}
System.out.println(receivedDateObj);
日期被正确解析,但是当我打印日期时,它打印出以下内容:
Fri Dec 31 18:59:59 EST 1999
如何让它打印 GMT 而不是 EST?为什么尽管我使用以下设置时区仍未设置?
formatter.setTimeZone(TimeZone.getTimeZone("UTC"));
一个java.util.Date
对象没有时区信息。这是一个固定的时间点。转储到控制台只使用 Date.toString();
,它使用 JVM 的时区来执行格式。如果您想将固定的即时时间转换回特定时区的 'human' 表示,只需通过格式化程序以另一种方式将其发回即可。
System.out.println(formatter.format(receivedDateObj));
我建议你使用 joda 时间库。此 API 包含一些漂亮的 类 来实现您愿意做的事情:DateTimeFormat、DateTimeZone...在我看来,这是 java 中最好的日期 API。
java文档非常详尽,网上有很多示例(当然包括 Whosebug)。
来源:
http://www.joda.org/joda-time/
http://joda-time.sourceforge.net/apidocs/org/joda/time/DateTimeZone.html
http://joda-time.sourceforge.net/apidocs/org/joda/time/format/DateTimeFormat.html