Проблема преобразования даты в местное время - PullRequest
0 голосов
/ 02 июня 2018

Я столкнулся с проблемой в Android с преобразованием DateTime в местное время с часовым поясом.Я использую метод ниже, чтобы преобразовать в местное время, но я неправильно понимаю «Год» и «Время».

PS Полученное DateTime в Стандартное время Бангладеш "Азия / Дакка", "(GMT +06: 00) Дакка"

public String localToGMT(String serverDate) {
    String DATE_FORMAT = "dd.mm.yyyy HH:MM";//15.06.18 6:00
    String strDate = "";
    ///Date date = new Date();
    try {
    SimpleDateFormat sdf = new SimpleDateFormat(DATE_FORMAT);
    sdf.setTimeZone(TimeZone.getTimeZone("UTC"));
    Date gmt = null;

        gmt = sdf.parse(serverDate);
        strDate = sdf.format(gmt);

    } catch (ParseException e) {
        e.printStackTrace();
    }
    return strDate;
}

Ввод: 22.06.2018 00: 00

Мой вывод: 22.06.2017 00: 12


Может кто-нибудь помочь мне с этим?

1 Ответ

0 голосов
/ 02 июня 2018

MM обозначает месяц, mm обозначает minutes, и вам необходимо заново установить часовой пояс, попробуйте это:

public static void main(String[] args) throws Exception {
    String serverDate = "22.06.2018 16:00";
    String DATE_FORMAT = "dd.MM.yyyy HH:mm";
    String strDate;

    SimpleDateFormat sdf = new SimpleDateFormat(DATE_FORMAT);
    sdf.setTimeZone(TimeZone.getTimeZone("Asia/Dhaka"));
    Date gmt = sdf.parse(serverDate);

    sdf.setTimeZone(TimeZone.getTimeZone("UTC"));
    strDate = sdf.format(gmt);
    System.out.println(strDate); // 22.06.2018 10:00
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...