如何获取不同时区的本地时间?

2022-09-01 22:03:16

我想使用Java代码获取不同时区的本地时间。根据传递给函数的时区,我需要该时区的本地时间。如何做到这一点?


答案 1
java.util.TimeZone tz = java.util.TimeZone.getTimeZone("GMT+1");
java.util.Calendar c = java.util.Calendar.getInstance(tz);

System.out.println(c.get(java.util.Calendar.HOUR_OF_DAY)+":"+c.get(java.util.Calendar.MINUTE)+":"+c.get(java.util.Calendar.SECOND));

答案 2

我鼓励你看看Joda Time,这是标准Java日期和时间API的替代(但非常受欢迎):

http://joda-time.sourceforge.net/index.html

使用Joda Time,我认为这就是你所做的:

import org.joda.time.DateTime;
import org.joda.time.DateTimeZone;

public class TimeZoneDemo {

  public static void main(String[] args) {

    DateTime now = new DateTime(System.currentTimeMillis(), DateTimeZone.forID("UTC"));
    System.out.println("Current time is: " + now);
  }
}

您只需要知道相关时区的标准 ID,例如 UTC。


推荐