2013-10-02 4 views
0

Я пытаюсь форматировать Timestamp объекта с помощью:Форматирование Отметка в Android

new SimpleDateFormat(
    "M/dd/yyyy h:mm:ss a", 
    Locale.getDefault()).format(new Timestamp(0)); 

Но это приводит не форматировать его в качестве моего явного рисунка ни на что. Я хочу, чтобы он изменил день и месяц для мест, где это обычно. Как мне это сделать?

ответ

0
String s = new SimpleDateFormat(
    "M/dd/yyyy h:mm:ss a", 
    Locale.getDefault()).format(new Timestamp(0)); 
System.err.println(s); 

Что напечатано?

Если вы хотите, чтобы по умолчанию форматирование с Locale порядке, не указывайте его:

String s = new SimpleDateFormat().format(new Timestamp(0)); 
System.err.println(s); 

Документация SimpleDateFormat().

+0

Это печатает как это "10/2/2013 5:05:22 PM" независимо от того, какой язык я установил. – ashishduh

+0

И что вы ожидали? Вы вводите формат ... Это может измениться, если вы хотите, чтобы имена дня в неделю или имена месяца. Ваш формат является только числовым. – Aubin

+0

Ну, так как конструктор взял параметр Locale, я ожидал, что он попытается сопоставить строку формата с локализованным шаблоном. Но, читая документы, я вижу, что Locale используется только для получения локализованных DateFormatSymbols и Calendar. – ashishduh

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