JAVA:gmt到本地时间转换

DJ'*_*DJ' 6 java timezone

我正在用java开发一个软件.

我从服务器获取GMT的时间戳.该软件可以在世界任何地方使用.现在,我想获取运行软件的本地时区,并将此GMT时间转换为当地时间.

请告诉我怎么做?

Tom*_*icz 5

假设你timestamp是a DateNumber:

final DateFormat formatter = DateFormat.getDateTimeInstance();
formatter.setTimeZone(TimeZone.getTimeZone("America/New_York"));
System.out.println(formatter.format(timestamp));
Run Code Online (Sandbox Code Playgroud)

如果您的时间戳为a String,则首先必须解析它.你会发现很多自定义格式的例子SimpleDateFormat,一个内置格式的简单例子:

final DateFormat formatter = DateFormat.getDateTimeInstance();
formatter.setTimeZone(TimeZone.getTimeZone("GMT"));
final Date timezone = formatter.parse("2012-04-14 14:23:34");
formatter.setTimeZone(TimeZone.getTimeZone("America/New_York"));
System.out.println(formatter.format(timezone));
Run Code Online (Sandbox Code Playgroud)


Rav*_*rma 4

要获取您当地的时区:

Calendar.getInstance().getTimeZone().getDisplayName()

对于转换:

java中的日期时区转换?