2015-05-05 1 views
0

Я создаю скользящее визуальное управление, которое возвращает процентное смещение (от 0.0 до 1.0), и я хотел бы преобразовать десятичное смещение в человеко-читаемое время (например, «9:45 AM»).Каким образом можно преобразовать десятичный знак в удобное для человека время (час: минута) и обратно?

Время, которое я буду показывать, - от 4 AM-Noon, с интервалом в 15 минут, но меня больше интересуют общие решения, потому что мои точные требования могут измениться.

Текущие идеи включают в себя итеративное генерирование массива строк с заданным временем начала (400), интервалом (15) и временем окончания (1200). Или, может быть, сделать целое деление на часы (8 в этом примере) ((offset*100)/(100/8)) и некоторые по модулю что-то за минуты ((offset*100)%(60/15)*15). Не уверен. Ищете что-то простое и надежное, что позволит простое преобразование между строковыми, десятичными и датами.

Реализация через Swift в Cocoa Touch, но решения в любом контексте помогут.

+0

Вы ищете формулу для перевода значения ползунка [0.0, 1.0] на временной интервал, или вы ищете способ преобразования переведенного значения в формат, пригодный для чтения, или для обоих? – n00bProgrammer

ответ

0

Никогда не пытайтесь внедрять подобные вещи самостоятельно. Это требует много времени, и очень сложно получить рабочее решение для каждого языка/региона. Кроме того, вероятность того, что кто-то другой, в данном случае Apple, реализовал это для вас уже, - слишком чертовски высокий.

Ознакомьтесь с документацией NSDateFormatter. Он генерирует локализованный NSString от NSDate для вас.

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