Как заставить NSDateFormatter отображать специфичную для локали дату?

См. приведенный ниже код. Он компилирует: -

    int[] arr = new int[2];
    System.out.println(arr.toString());

Теперь, на любом примитивном типе, вы не можете вызвать метод (toString()), определенный в классе Object (или любой метод, если на то пошло). Итак, массив по существу, Object ..

ОК, вот вы: -

Из раздела JLS 4.3 : -

Существует четыре типа ссылочных типов: типы классов (§8), типы интерфейсов (§9), переменные типа (§4.4) и типы массивов (§10).

blockquote>

И Раздел 10 : -

На языке программирования Java массивы являются объектами (§4.3.1), динамически создаются и могут быть назначены переменным типа Object (§ 4.3.3). Все методы класса Object могут быть вызваны в массиве.

blockquote>

Итак, из первой цитаты Array на самом деле не класс .. Это другой тип .. Но, по существу, массивы являются объектами, хотя и не с некоторыми Class, но они имеют тип Array. Поэтому они не являются экземплярами какого-либо класса и могут быть созданы объектами array таким образом.

13
задан Boon 28 August 2009 в 19:20
поделиться

2 ответа

Нашел решение. Ключ состоит в том, чтобы вообще не вызывать setDateFormat , и API в iPhone автоматически выберет соответствующий элемент для отображения на основе того, что указано в setDateStyle и setTimeStyle .

12
ответ дан 1 December 2019 в 17:59
поделиться

Вместо этого я бы попробовал следующий NSDateFormatter API:

+ (NSString *)localizedStringFromDate:(NSDate *)date
              dateStyle:(NSDateFormatterStyle)dateStyle
              timeStyle:(NSDateFormatterStyle)timeStyle;

Примерно так:

self.creationDate.text = [NSDateFormatter localizedStringFromDate:creationTimeStamp
                                          dateStyle:NSDateFormatterMediumStyle
                                          timeStyle:NSDateFormatterShortStyle];

Это должно дать вам результат, который вы ищете, приведите в порядок код немного, и избавит вас от необходимости управлять ложными воспоминаниями.

32
ответ дан 1 December 2019 в 17:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: