我正在尝试使用GMT解析表示日期的字符串,但它会在我的PC上(太平洋)打印出我的时区.当我运行以下时,我得到以下输出.关于如何解析解析并返回GMT日期的任何想法?如果你看下面我正在使用format.setTimeZone设置时区(TimeZone.getTimeZone("GMT")); 但它没有产生预期的结果.
以下代码输出:
星期一10月29日05:57:00 PDT 2012
package javaapplication1;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.TimeZone;
public class JavaApplication1 {
public static void main(String[] args) throws ParseException {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ");
format.setTimeZone(TimeZone.getTimeZone("GMT"));
System.out.println(format.parse("2012-10-29T12:57:00-0000"));
}
}
Run Code Online (Sandbox Code Playgroud)
您正在format.setTimeZone(TimeZone.getTimeZone("GMT"));格式化程序中使用,格式化程序用于将字符串格式化为日期,即
Date date = format.parse("2012-10-29T12:57:00-0000");
Run Code Online (Sandbox Code Playgroud)
解析处理2012-10-29T12:57:00-0000是一个GMT值,但你打印date在打印时使用本地timezome因此你注意到差异.
如果您想重新打印日期GMT,请使用:
String formattedDate = format.format(date);
Run Code Online (Sandbox Code Playgroud)
并打印出来formattedDate.这将是GMT.
System.out.println(formattedDate);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16655 次 |
| 最近记录: |