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