http://ideone.com/T5wSRV это ссылка ниже кодSimpleDateFormat не дает время?
SimpleDateFormat dateFormatIST = new SimpleDateFormat("yyyy-MMM-dd HH:mm:ss");
dateFormatIST.setTimeZone(TimeZone.getTimeZone("IST"));
//Time in IST
Date date=dateFormatIST.parse(dateFormatIST.format(new Date()));
System.out.println(date);
это не дает точного времени IST, где в качестве кода ниже работает отлично. Зачем? http://ideone.com/9KSaZx Это ссылка на ниже код, который дает желаемый результат. Помогите мне понять поведение.
SimpleDateFormat dateFormatIST = new SimpleDateFormat("yyyy-MMM-dd HH:mm:ss");
dateFormatIST.setTimeZone(TimeZone.getTimeZone("IST"));
//Local time zone
SimpleDateFormat dateFormatLocal = new SimpleDateFormat("yyyy-MMM-dd HH:mm:ss");
//Time in IST
Date date=dateFormatLocal.parse(dateFormatIST.format(new Date()));
System.out.println(date);
Просьба представить ожидаемые и фактические результаты в каждом случае. И почему вы форматируете, затем разбираете, а затем форматируете снова (используя Date.toString) в последнем случае? И какой у вас часовой пояс? Ваш вопрос в настоящее время очень неясен. (Также бесполезно иметь переменную, называемую 'dateFormatGmt', которая использует IST ...) –
Это дает мне правильное время. Что вы ожидали в результате, при текущем времени IST? –
кажется, что IST не является «устаревшим» часовым поясом и должен быть заменен, начало ответа здесь: http://stackoverflow.com/questions/11264697/java-timezone-strange-behavior-with-ist – vincent