Форум программистов, компьютерный форум, киберфорум
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
 
edogaafx
0 / 0 / 0
Регистрация: 04.03.2014
Сообщений: 42
#1

Форматирование времени - Программирование Android

01.06.2015, 09:57. Просмотров 406. Ответов 18
Метки нет (Все метки)

Добрый день,
Нужно мне было из String времени достать отдельно дату и отдельно время.
День-месяц-год вытянуть получилось, а вот время - нет.
Пример, как хронится дата:
2015-05-06 11:06:00
Java
1
2
3
4
5
6
7
8
9
10
System.out.println(list.get(i).getStartDate());
SimpleDateFormat stf = new SimpleDateFormat("HH:mm");
String startTime = list.get(i).getStartDate();
try {
    startTime = stf.format(stf.parse(startTime)).toString();
    System.out.println("Time: " + startTime);
} catch (java.text.ParseException e1) {
    // TODO Auto-generated catch block
    e1.printStackTrace();
}
Таким-же способом вытягивал дату:
Java
1
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Так-же и получил и отформатировал текужее время, и результат такой, как мне и надо.
Но вот со временем из базы данных проблемка..
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.06.2015, 09:57
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Форматирование времени (Программирование Android):

Форматирование строки, полученной из БД - Программирование Android
Доброго времени суток! Сразу скажу, что пытался найти, как выполнить форматирование строки, но нашел только способ, когда в Strings...

Странное форматирование в Eclipse - Программирование Android
Добрый день! Запустив сегодня Eclipse, вдруг вижу странное форматирование во всех проектах (на картинке). Вчера вечером всё было...

Форматирование даты из строки - Программирование Android
Есть строковая дата вида "2016-01-13 13:15:00", как из нее сделать вот это 13 Января 2016, СР 13:15

Форматирование текста в программах и играх - Программирование
Добрый день! Я переводчик, не силен в программировании. Недавно занялся переводом программ и игр с китайского и столкнулся с проблемой...

Форматирование текста и действие по нажатию кнопки назад - Программирование Android
День добрый! Столкнулся с такой проблемой: -есть текст и его надо выровнять по ширине т.е не центр а как в ворде. <?xml...

Форматирование времени - Delphi
Всем Привет, помогите разобраться.. Есть переменная String в ней записано время в формате '00:00:00' (часы:минуты:секунды) мне...

18
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,071
01.06.2015, 10:54 #2
Цитата Сообщение от edogaafx Посмотреть сообщение
Пример, как хронится дата:
Что делает? Мб хранится?
Regex может поможет?
0
edogaafx
0 / 0 / 0
Регистрация: 04.03.2014
Сообщений: 42
01.06.2015, 10:58  [ТС] #3
А без Regex никак?
Просто, дата и текущее время ведь парсируется..
0
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,071
01.06.2015, 11:01 #4
Regex и есть парсинг, пара строк, написать чтоли?
На вход "2015-05-06 11:06:00" как должно быть в итоге? На выход что?
0
Spelcrawler
527 / 497 / 111
Регистрация: 12.03.2014
Сообщений: 1,654
Завершенные тесты: 1
01.06.2015, 11:03 #5
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
edogaafx, дата всегда в таком формате? Если да можно так:
Java
1
2
3
4
    String srcDate = ...;//Исходная дата.
    String[] srcDateArray = srcDate.split(" ");
    String date = srcDateArray[0];
    String time = srcDateArray[1];
2
edogaafx
0 / 0 / 0
Регистрация: 04.03.2014
Сообщений: 42
01.06.2015, 11:03  [ТС] #6
в итоге - часы и минуты "11:06".
Spelcrawler, спасибо, работает.
а отнимать время, например, нынешнее время - время события, удобно после таких операций?
0
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,071
01.06.2015, 11:44 #7
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Java
1
2
3
Pattern p = Pattern.compile(".+(\\d{2}:\\d{2}):.+");
Matcher m = p.matcher("2015-05-06 11:06:00");
if (m.matches()) System.out.println(m.group(1));
Для отнимать время нужно в Calendar сетить время и там отнимать.
2
Spelcrawler
527 / 497 / 111
Регистрация: 12.03.2014
Сообщений: 1,654
Завершенные тесты: 1
01.06.2015, 11:45 #8
Цитата Сообщение от Rube Посмотреть сообщение
Для отнимать время нужно в Calendar сетить время и там отнимать.
Ага, а еще лучше хранить время в unix time. Тогда вообще проблем никаких не будет.
0
edogaafx
0 / 0 / 0
Регистрация: 04.03.2014
Сообщений: 42
01.06.2015, 11:48  [ТС] #9
Я сделал как-то по другому.
Тот пример, чт опоказал Spelcrawler, я из времени взял часы и парс в Инт.
Отнять их смог. Как-раз, что-бы я смог сделать то, что задумал.
Спасибо Rube, и Spelcrawler, за помощь!
0
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,071
01.06.2015, 12:41 #10
Цитата Сообщение от edogaafx Посмотреть сообщение
Как-раз, что-бы я смог сделать то, что задумал.
А теперь отними 3 часа из 02:00, что будет?
0
edogaafx
0 / 0 / 0
Регистрация: 04.03.2014
Сообщений: 42
01.06.2015, 12:47  [ТС] #11
вроде всё нормально. я забираю только часы, т.е. 01,02,..23,24..
Сейчас проверял, вроде всё отнимает как надо. 03 - 12 = -9, например.
0
Spelcrawler
527 / 497 / 111
Регистрация: 12.03.2014
Сообщений: 1,654
Завершенные тесты: 1
01.06.2015, 12:48 #12
edogaafx, эмм, а -9 часов это нормально?
0
edogaafx
0 / 0 / 0
Регистрация: 04.03.2014
Сообщений: 42
01.06.2015, 12:49  [ТС] #13
Нет, но мне и не надо число, мне надо, что-бы число попадало в определённый радиус.

Java
1
result >= 0 && result <= 3
0
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,071
01.06.2015, 12:52 #14
Короче свои заморочки Работает и ладно, как говорил Сократ
0
edogaafx
0 / 0 / 0
Регистрация: 04.03.2014
Сообщений: 42
01.06.2015, 12:56  [ТС] #15
Мне это время нужно было, что-бы пользователя предупредить о Ивенте, который будет в ближайшие 3 часа.
Я веду проверку:
1. в фаворитах ли у пользователя ивент;
2. совпадает ли дни, т.е. сегодня ли ивент;
3. Попадает ли время в этот интервал
Java
1
result >= 0 && result <= 3
?
3.1. Если да, то кинуть нотификацию;
3.2. Если нет, то через 3 часа вернёмся к 1 пункту.
Как-то так.
0
01.06.2015, 12:56
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.06.2015, 12:56
Привет! Вот еще темы с ответами:

Форматирование времени - C#
Подскажите пожалуйста. В определенный момент времени я сохраняю текущее время public DateTime dt1 = DateTime.Now Затем через некоторое...

Форматирование даты и времени - C# ASP.NET
Где-то пол-года назад возникло желание создать какой-нибудь 'интерактивный' сайт. Посмотрев на разные технологии, решил начать с ASP и тут...

.NET 4.x Обратное форматирование времени - Visual Basic .NET
Здравствуйте, уважаемые коллеги! Вопрос: вот так перевёл время в строковое представление: Dim UserHour As Date = Now UserHour =...

Перевод и форматирование времени - PHP
Всем привет! Ребят помогите реализовать следующее: Например имеем 0,02869 часа. Как перевести это время в минуты, секунды и милисекунды....


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

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

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