2015-08-26 2 views
0

Что является лучшим способом и как преобразовать эту строку «2015-07-18T13: 32: 56.971-0400» до настоящего времени и преобразования в локальный часовой пояс телефона пользователя в в андроид?Преобразовать строку на сегодняшний день в андроид лучший способ

+3

Возможный дубликат [Разбор строки по дате в Java] (http://stackoverflow.com/questions/11446420/parse-a-string-to-date-in-java) – Andreas

+0

дубликат [Как получить TimeZone от android mobile?] (http://stackoverflow.com/questions/7672597/how-to-get-timezone-from-android-mobile) для второго вопроса. – Andreas

+0

Моя строка немного отличается, и моя цель - отобразить ее на локальном дате времени пользователя. –

ответ

2

Я перечислил дублировать ссылку, потому что вы спрашиваете, как проанализируйте строку даты. На это ответили миллионы раз.

Другая ссылка показывает, что локальный часовой пояс телефона пользователя в андроиде является часового пояса по умолчанию виртуальной машины Java, так что вы не должны делать любое преобразования.

Чтобы увидеть для себя, запустите следующий код в любой JVM (Android, PC, Mac, Linux, ...):

String input = "2015-07-18T13:32:56.971-0400"; 

Date date = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ").parse(input); 
String output = new SimpleDateFormat("MM/dd/yyyy hh:mm:ss.SSS a").format(date); 
System.out.println(input + " -> " + output); 

Если вы находитесь в Лос-Анджелесе, штат Калифорния, США , вы получите следующее:

2015-07-18T13:32:56.971-0400 -> 07/18/2015 10:32:56.971 AM 

Обратите внимание, что 13:32 был настроен на 10:32 утра (10:32).

+0

Спасибо, вот что я попросил :) –

1

Просто используйте их, чтобы получить время и дату

public String getCurrentDate(){ 
    Time dtNow = new Time(); 
    dtNow.setToNow(); 
    return dtNow.format("%Y.%m.%d %H:%M"); // YYYYMMDDTHHMMSS 
} 

public String getCurrentTime(){ 
    Time dtNow = new Time(); 
    dtNow.setToNow(); 
    return dtNow.format("%H:%M"); // YYYYMMDDTHHMMSS 
} 

первая функция будет возвращать время и вторая функция возвращает датировать

+0

Я не спрашивал об этом. –

+0

его в основном получают время и дату, которые вы хотите получить в реальном смысле. –

Смежные вопросы