Как преобразовать местную дату в GMT [дубликаты]

This question already has an answer here:

How can I get the current date and time in UTC or GMT in Java? 31 answers
Calendar cal = Calendar.getInstance(TimeZone.getTimeZone("GMT"));
java.util.Date fromDate = cal.getTime();
System.out.println(fromDate);

Приведенный выше код не печатает дату в GMT, а печатает в местном часовом поясе. Как получить эквивалентную дату по Гринвичу с текущей даты (при условии, что программа может работать в Японии или в SFO)

Ответы на вопрос(3)

DateFormat gmtFormat = new SimpleDateFormat();
TimeZone gmtTime = TimeZone.getTimeZone("GMT");
gmtFormat.setTimeZone(gmtTime);
System.out.println("Current DateTime in GMT : " + gmtFormat.format(new Date()));

вы можете преобразовать в любой (действительный) часовой пояс таким образом

See

DateFormat
 15 мая 2012 г., 13:09
gmtFormat.format (new Date ()) тип возвращаемого значения - String.but я хочу на сегодняшний день.
 15 мая 2012 г., 13:26
Вы можетеparse() эта строка для создания экземпляра даты
 04 июл. 2017 г., 11:25
Как только вы выполните синтаксический анализ, он вернется к формату вашего местного часового пояса. В моем случае он преобразует его обратно в IST. Как сохранить это в GMT

Как этоSimpleDateFormat dateFormatGmt = new SimpleDateFormat("yyyy-MMM-dd HH:mm:ss"); dateFormatGmt.setTimeZone(TimeZone.getTimeZone("GMT")); ?

Решение Вопроса

public static void main(String[] args) throws IOException {
    Test test=new Test();
    Date fromDate = Calendar.getInstance().getTime();
    System.out.println("UTC Time - "+fromDate);
    System.out.println("GMT Time - "+test.cvtToGmt(fromDate));
}
private  Date cvtToGmt( Date date ){
    TimeZone tz = TimeZone.getDefault();
    Date ret = new Date( date.getTime() - tz.getRawOffset() );

    // if we are now in DST, back off by the delta.  Note that we are checking the GMT date, this is the KEY.
    if ( tz.inDaylightTime( ret )){
        Date dstDate = new Date( ret.getTime() - tz.getDSTSavings() );

        // check to make sure we have not crossed back into standard time
        // this happens when we are on the cusp of DST (7pm the day before the change for PDT)
        if ( tz.inDaylightTime( dstDate )){
            ret = dstDate;
        }
     }
     return ret;
}

Test Result :
Время UTC - вторник, 15 мая 16:24:14 IST 2012
Время по Гринвичу - вторник, 15 мая 10:54:14 IST 2012

 29 сент. 2013 г., 14:33
Огромное спасибо. Это поможет мне
 30 сент. 2013 г., 08:17
добро пожаловать @HaiderAli :)

Ваш ответ на вопрос