Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
bandroid
0 / 0 / 0
Регистрация: 07.09.2017
Сообщений: 10
1

Как правильно форматировать строку с временем из имеющегося long

15.09.2017, 11:24. Просмотров 807. Ответов 4
Метки нет (Все метки)

Привет сообщество!

Подскажите пожалуйста, имеется некое полученное время в startTime
Нужно вывести на экран в виде или "16:25:00" или 04:25:00 PM - по текущим настройкам

Java
1
2
        long startTime = System.currentTimeMillis() + 10000;                       
        String outText = "Следующий старт в " + (DateFormat.format("hh:mm:ss", startTime));

При выводе outText хорошо вижу строку всегда в формате AmPm. Попытался отправить ..."HH:mm:ss" - получил строку вида "HH:25:00"
Причем SimpleDateFormat не смог использовать, не принимает он long значение почему-то.
А все отсылки из гугла сводятся к использованию именно SimpleDateFormat для таких целей.
Как действовать моя уже не понимай. Вроде бы, надо преобразовать long в.. что-то подходящее, но знаний не хватает.
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.09.2017, 11:24
Ответы с готовыми решениями:

Вычислить промежуток времени между текущей датой/временем и временем, введенным пользователем
Создайте новое приложение. Пакет приложения назовите com.ВАШЕ_ИМьЯ.time_span....

как правильно от форматировать вложенные запрос
как правильно от форматировать запрос "SELECT `c`.`title`,...

Как правильно форматировать системный диск?
Здравствуйте, помогите пожалуйста с одним вопросом. Предыстория: Решила Windows...

Как заставить Excel правильно форматировать ячейку
Есть задача. Разместить довольно длинный (порядка 500 символов) текст в ячейки...

Как правильно создать массив на основе среза уже имеющегося
здравствуйте, суть проблемы заключается в следующем, имеется .log файл, в...

4
ExFau$t
676 / 567 / 131
Регистрация: 08.05.2012
Сообщений: 2,815
15.09.2017, 12:03 2
Неужели не хватает знаний загуглить? В крайнем случае можно положить long в Date, а потом Date в DateFormat.
1
264D
33 / 35 / 9
Регистрация: 03.02.2017
Сообщений: 130
15.09.2017, 14:04 3
Лучший ответ Сообщение было отмечено bandroid как решение

Решение

Кстати, SimpleDateFormat в этом году исполнилось 20 лет.

Java
1
2
SimpleDateFormat timeFormat = new SimpleDateFormat("HH:mm:ss", Locale.getDefault());
String outText = "Следующий старт в " + timeFormat.format(new Date(startTime));
1
bandroid
0 / 0 / 0
Регистрация: 07.09.2017
Сообщений: 10
15.09.2017, 14:49  [ТС] 4
Мне совет нужен, чядн. Задача представляется тривиальной.
Но например, что использовать неясно. Есть классы android.text.format.DateFormat или же java.text.DateFormat.

Есть же какая то простая практика у опытных товарищей?

Добавлено через 6 минут
Цитата Сообщение от 264D Посмотреть сообщение
Кстати, SimpleDateFormat в этом году исполнилось 20 лет.
Спасибо, сейчас уже пробую

Добавлено через 23 минуты
Нет, что-то пошло не так с вашей конструкцией. Она встроилась, но выдала результат какой-то не тот, время некое, по умолчанию что ли, в таком виде - 5:00. Потом поразбираюсь, интересно самому.


Тут по материалам сотворил себе такую строку в одну строку, уже проверил, все работает, локаль применяется:

Java
1
   String outText = DateUtils.formatDateTime(this, startTime, DateUtils.FORMAT_SHOW_TIME);
Так что всем спасибо, продолжаем погружение))
0
bandroid
0 / 0 / 0
Регистрация: 07.09.2017
Сообщений: 10
16.09.2017, 21:22  [ТС] 5
Цитата Сообщение от bandroid Посмотреть сообщение
Нет, что-то пошло не так с вашей конструкцией. Она встроилась, но выдала результат какой-то не тот, время некое, по умолчанию что ли, в таком виде - 5:00. Потом поразбираюсь, интересно самому.
Разобрался и исправил, все хорошо, и такая конструкция работает. Я сам ошибку допустил, переменная была недоступна в методе.
0
16.09.2017, 21:22
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.09.2017, 21:22

Как форматировать дату в строку и наоборот?
Покажите, пожалуйста, как форматировать дату в строку и наоборот. Что-то не...

Требуется написать функцию long long pow(long long a, unsigned int p), которая возводит число a в степень p
Требуется написать функцию long long pow(long long a, unsigned int p), которая...

Написать функцию для перевода переменной типа long в символьную строку в шестнадцатиричном представлении ( ltoah( long num, char s[]) ) и тестирующую
Написать функцию для перевода переменной типа long в символьную строку в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru