Как получить формат времени, используя код страны ISO в Android? - PullRequest
9 голосов
/ 22 июня 2011

Я работаю над простым приложением, чтобы показать время в разных форматах. Чтобы показать время, я показываю код страны ISO, используя этот код ISO. Могу ли я изменить время в формате страны ISO?

Я написал следующий код

TelephonyManager tMgr = 
    (TelephonyManager)getApplicationContext().getSystemService(
        Context.TELEPHONY_SERVICE);

String iso = tMgr.getNetworkCountryIso();
Log.v("Device iso", "=======>" + iso);
String mbNo = tMgr.getLine1Number();
Log.v("mbNo", "=======>" + mbNo);

Здесь я получаю ISO как США. Могу ли я показать текущий формат системного времени в формате времени США?

Я использовал класс Дата, чтобы показать время следующим образом

DateFormat df = DateFormat.getTimeInstance();
systime = df.format(new Date());

Отображает время в формате ЧЧ: ММ: СС AM / PM. Я хотел бы отобразить указанное выше время в формате США.

Как я могу отображать время в США или любом другом формате?

Ответы [ 3 ]

4 голосов
/ 06 июля 2011

В вашем случае, я думаю, вы могли бы использовать

Date systemDate = Calendar.getInstance().getTime(); // the current system time
DateFormat df = DateFormat.getDateTimeInstance(DateFormat.SHORT,DateFormat.SHORT, Locale.US);
Date myDate = df.format(systemDate);

Или использовать пользовательский формат

SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
Date myDate = sdf.format(systemDate);

если у вас есть строка, используйте parse

Date myDate = sdf.parse("29/04/1980 12:30:24");
1 голос
/ 29 июня 2011

DateFormat имеет статический метод , который может инициализировать локализованный формат.

0 голосов
/ 04 июля 2011

Я считаю, что вам нужно создать свой собственный метод для формата США. Попробуйте создать класс и сделать его суперкласс классом DataFormat и просто добавьте свой метод.

...