Java 将日期从不同时区转换为UTC

Java 将日期从不同时区转换为UTC,java,datetime,utc,Java,Datetime,Utc,我已经编写了一个代码,根据我提供的时区将日期转换为UTC。 我还设置了-Duser.timezone=UTC public static java.util.Date getUtcDateFromTimezone(java.util.Date date,TimeZone timezone) { // java.util.Date utcDate=null; Calendar calendar=Calendar.getInstance(timezone); calendar.se

我已经编写了一个代码,根据我提供的时区将日期转换为UTC。 我还设置了-Duser.timezone=UTC

public static java.util.Date getUtcDateFromTimezone(java.util.Date date,TimeZone timezone)
{
//  java.util.Date utcDate=null;
    Calendar calendar=Calendar.getInstance(timezone);
    calendar.setTime(date);

    Calendar utcCalendar=Calendar.getInstance(TimeZone.getTimeZone("UTC"));
    utcCalendar.setTime(calendar.getTime());        
    return utcCalendar.getTime();
}

如何根据特定时区转换为UTC?

希望此示例能够帮助您:

public static String convertLocalTimeToUTC(String saleTimeZone, String p_localDateTime) throws Exception{

  String dateFormateInUTC="";
  Date localDate = null;
  String localTimeZone ="";
  SimpleDateFormat formatter;
  SimpleDateFormat parser;
  localTimeZone = saleTimeZone;

  //create a new Date object using the timezone of the specified city
  parser = new SimpleDateFormat("dd-MM-yyyy HH:mm:ss");
  parser.setTimeZone(TimeZone.getTimeZone(localTimeZone));
  localDate = parser.parse(p_localDateTime);
  formatter = new SimpleDateFormat("dd-MM-yyyy HH:mm:ss z'('Z')'");
  formatter.setTimeZone(TimeZone.getTimeZone(localTimeZone));
  System.out.println("convertLocalTimeToUTC: "+saleTimeZone+": "+" The Date in the local time zone " +   formatter.format(localDate));

  //Convert the date from the local timezone to UTC timezone
  formatter.setTimeZone(TimeZone.getTimeZone("UTC"));
  dateFormateInUTC = formatter.format(localDate);
  System.out.println("convertLocalTimeToUTC: "+saleTimeZone+": "+" The Date in the UTC time zone " +  dateFormateInUTC);

 return dateFormateInUTC;
 }

  public static void main(String arg[]) throws Exception
    {

        convertLocalTimeToUTC("EST", "12-03-2013 10:30:00");
        convertLocalTimeToUTC("PST", "12-03-2013 10:30:00");
    }

这是取自

除非您是的作者,否则如果您复制代码,最好添加原始链接。如何使用java.util.Date获得它?您是否使用java 8?有一个新的和改进的时间api。否则,如果你正在做很多这些事情,Joda Time可能会有所帮助。