Java Android中的SimpleDataFormat在Android 1.6中给出了不需要的时区

Java Android中的SimpleDataFormat在Android 1.6中给出了不需要的时区,java,android,date,Java,Android,Date,鉴于以下情况: String dt = "Wed Jan 1 12:34:03 2010"; SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM d HH:mm:ss yyyy"); Date output = sdf.parse(dt); 产生: Wed Jan 1 12:34:03 ADT 2010 时区从哪里来?我的格式模式中没有z 谢谢, Doug您显然正在显示toString()日期对象的结果,如 System.out.prin

鉴于以下情况:

String dt = "Wed Jan 1 12:34:03 2010";
SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM d HH:mm:ss yyyy");
Date output = sdf.parse(dt);
产生:

Wed Jan 1 12:34:03 ADT 2010
时区从哪里来?我的格式模式中没有z

谢谢,
Doug

您显然正在显示
toString()
日期对象的结果,如

System.out.println(output);
格式在中指定,它确实包括时区

托斯特林 将此
日期
对象转换为以下格式的
字符串

dow mon dd hh:mm:ss zzz yyyy
在表示之前,需要将获取的
日期
对象转换为所需格式的
字符串
。比如说,

String s = new SimpleDateFormat("dd-MM-yyyy HH:mm:ss").format(output);
System.out.println(s); // 01-01-2010 12:34:03

创建日期对象时,将从系统设置中设置时区


尝试output.getTimeZoneoffset(),它以分钟为单位返回偏移量(对于ADT,它是-180)

啊,我明白了。非常感谢你。
String s = new SimpleDateFormat("dd-MM-yyyy HH:mm:ss").format(output);
System.out.println(s); // 01-01-2010 12:34:03