Пробую преобразовывают дату, которая находится в зоне местного времени к GMT, я сделал некоторую вещь как это
SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss");
sdf.setTimeZone(TimeZone.getTimeZone("GMT"));
String gmtStrDate = sdf.format(Calendar.getInstance().getTime());
System.out.println("GMT 1"+gmtStrDate);
Date gmtDate = sdf.parse(gmtStrDate);
System.out.println("GMT 2"+gmtDate);
я получаю GMT 1 o/p в GMT tz, но GMT 2 o/p снова изменяется на зону местного времени... Может какой-либо телефон меня почему?
для получения GMT 2 o/p в GMT, мне действительно нравилось это:
Календарный календарь = Calendar.getInstance (TimeZone.getTimeZone ("GMT")); calendar.setTime (gmtDate);
System.out.println("GMT 3 = "+calendar.getTime());
но все еще 3o/p GMT входит в локальный tz. Предложите на этом.
После «анализа» вы должны снова отформатировать его перед печатью, например :
System.out.println("GMT 2"+sdf.format(gmtDate));
EDIT :
Причина твой Gmtstrdate
не храняет информацию о часовой зоне
import java.util.*;
import java.text.*;
public class CurrentTimeToGMT{
public static void main(String args[]){
Date date = new Date();
DateFormat gmtFormat = new SimpleDateFormat();
TimeZone gmtTime = TimeZone.getTimeZone("GMT");
gmtFormat.setTimeZone(gmtTime);
System.out.println("Current Time: "+date);
System.out.println("GMT Time: " + gmtFormat.format(date));
}
}
Выход
Current Time: Wed Mar 10 11:21:18 IST 2010 GMT Time: 3/10/10 5:51 AM