2015-09-03 2 views
0

Мне нужно сохранить дату с помощью Core Data, и когда пользователь выбирает определенную часть приложения, дата отображается в их локализованном формате (например, китайский или французский).NSDate с базовыми данными, отформатированными для локализации

Если я это сделаю [NSDate date], если я не ошибаюсь, дает мне дату в GMT.

Если я хочу сохранить данные в Core Data, то я настроен так?

[objectToSave setValue:[NSDate date] forKey:@"date"]; 

Или мне нужно установить его с локали? Как мне это сделать?

Или я просто установил дату, как указано выше, а затем отформатировал локаль, когда я переделал объект модели после извлечения из Core Data?

ответ

0

В этом вся цель NSDate. Это дает вам универсальное значение даты, которое затем может быть интерпретировано в любом желательном месте.

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

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

Таким образом, если мы оба используем одни и те же данные, я вижу это на иврите, и вы можете видеть это на французском языке, а нашими часовыми поясами могут быть Иерусалим и Париж.

Мы будем видеть то же самое время, но в нашем собственном формате локали и локальном часовом поясе, без каких-либо преобразований данных самостоятельно.

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