ОК, поэтому я использовал некоторые сообщения в stackoverflow, чтобы получить полузаработку преобразования для некоторых XML-данных.GMT неверное преобразование в 12:00
В фиде данных XML я получаю дату и время, поскольку элементы SEPARATE - они находятся в GMT.
Так что для того, чтобы преобразовать его и сравнить с местным временем, я делаю следующее («пе» содержит мой объект из кормов XML):
SimpleDateFormat sdf = new SimpleDateFormat("MM-dd-yyyy HH:mm");
sdf.setTimeZone(TimeZone.getTimeZone(myTimeZone.getDisplayName()));
Date newdate = sdf.parse(ne.getNewsDate().toString() + " " + ne.getNewsTime().toString());
if (newdate.before(new Date()))
//don't use
else
//use
Так как пример дату/время от подачи XML, который ошибочно конвертерной, давайте:
<date>
<![CDATA[ 12-02-2014 ]]>
</date>
<time>
<![CDATA[ 12:00am ]]>
</time>
«newdate» выше возвращается «вт 2 декабря 23:00:00 AEDT 2014», когда моя система читает часы 2/12/2014 3:00 PM « Так ясно, что он конвертирует время по Гринвичу 12-02-2014 12:00, неправильно, как время в футу но мне нужно, чтобы понять, что это в прошлом.
Итак, я смущен тем, что он правильно преобразует для MOST дату/время из фида, но некоторые из них, как указано выше, неверны.
Я надеюсь, что это имеет смысл, поэтому в основном я пытаюсь игнорировать дату/время из фида XML, который ушел, путем преобразования двух разделов даты/времени в мое местное время, а затем проверки, чтобы узнать, прошло ли его прошлое или нет.
человек Я люблю этот сайт! ответы на месте и своевременно! Thx - мне не нужен toUpperCase, просто hh: mma Perfect! – makapaka