Android:将实际日期和时间转换为millis和其他时区

时间:2012-05-03 14:54:10

标签: android time timezone

我必须将实际日期和时间转换为millis并转换为其他时区GMT + 3(我的时区为GMT-2)。我使用这段代码,但它回复了我的时间,但是回到我的时区....为什么?

Calendar cal = Calendar.getInstance(TimeZone.getTimeZone("GMT-3"));
cal.get(Calendar.DAY_OF_MONTH);
cal.get(Calendar.MONTH);
cal.get(Calendar.YEAR);
cal.get(Calendar.HOUR_OF_DAY);
cal.get(Calendar.MINUTE);
cal.get(Calendar.SECOND);
cal.get(Calendar.MILLISECOND);
long timez = cal.getTime().getTime();

3 个答案:

答案 0 :(得分:0)

您需要使用SimpleDateFormat。日历始终在您的计算机上使用默认配置的时区。以下是关于如何使用SimpleDateFormat实现此功能的example

答案 1 :(得分:0)

Date date = new Date();
  DateFormat firstFormat = new SimpleDateFormat();
  DateFormat secondFormat = new SimpleDateFormat();
  TimeZone firstTime = TimeZone.getTimeZone(args[0]);
  TimeZone secondTime = TimeZone.getTimeZone(args[1]);
  firstFormat.setTimeZone(firstTime);
  secondFormat.setTimeZone(secondTime);
  System.out.println("-->"+args[0]+": " + firstFormat.format(date));
  System.out.println("-->"+args[1]+": " + secondFormat.format(date));
  }

其中arg [0]和arg 1是两个时区。 请参阅此LINK

答案 2 :(得分:-1)

getTime()方法返回相同的时间。它与时区无关。