gpt4 book ai didi

android/java se SimpleDateFormat 时区问题

转载 作者:行者123 更新时间:2023-11-29 14:07:12 25 4
gpt4 key购买 nike

我在 android 2.1 上运行的程序中遇到了一个奇怪的问题,这对我来说似乎是 android 中的一个错误。请告诉我这里发生了什么,因为我迷路了。 :)

以下程序:

import java.util.*;
import java.text.*;

class TestMe {
public static void main(String[] args) {
String time = "2010-08-01T18:00:00+0000";

TimeZone tg = TimeZone.getDefault();
System.out.println(tg.getID());

SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ");

try {
Date indate = formatter.parse(time);

String outdate = formatter.format(indate);
System.out.println(outdate);

formatter.setTimeZone( TimeZone.getTimeZone("UTC"));

String ooutdate = formatter.format(indate);
System.out.println(ooutdate);

formatter.setTimeZone( TimeZone.getDefault() );
Date ioutdate = formatter.parse(ooutdate);
System.out.println(formatter.format(ioutdate));

} catch( Exception e ) {
e.printStackTrace();
}
}
}

在 mac 上使用最新的 java se 时返回这个:

(~) % javac -g TestMe.java && java TestMe                                                                                                                                                                                                              
Europe/Berlin
2010-08-01T20:00:00+0200
2010-08-01T18:00:00+0000
2010-08-01T20:00:00+0200

但是当我在 2.1 上的 android 应用程序中的一个方法中运行它时返回以下内容:

I/System.out( 5379): ------------------------------------------------------------------
I/System.out( 5379): Europe/Berlin
I/System.out( 5379): 2010-08-01T20:00:00+0200
I/System.out( 5379): 2010-08-01T18:00:00+0100
I/System.out( 5379): 2010-08-01T18:00:00+0100
I/System.out( 5379): ------------------------------------------------------------------

是否有人知道这个特定的 android api 修订版中的时区和日期解析问题?这对我来说是一个非常奇怪的问题,因为 android 版本应该返回与 java se 版本完全相同的结果,但事实并非如此。

感谢任何提示,

卡斯滕

最佳答案

尝试将 setTimeZone("UTC") 替换为 setTimeZone("GMT") 它可能与现在 BST(英国夏令时)中的 0 子午线不同tz 即 GMT+1。

关于android/java se SimpleDateFormat 时区问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6154150/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com