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

Не правильно парсит время в разных версиях API?

28.03.2017, 12:14. Просмотров 814. Ответов 9
Метки нет (Все метки)

Добрый день!


почему-то этот код если напр. подставить в getTime 00:15

Java
1
2
3
4
5
6
7
8
9
10
 Date date = null;
        String getTime = tvText.getText().toString();
        SimpleDateFormat sdf = new SimpleDateFormat("mm:ss");
        try {
            date = sdf.parse(getTime);
            Log.d("DisLog", "date " + String.valueOf(date.getTime())+ " "+getTime);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        totalTimeCountInMilliseconds = date.getTime();
в API23 и API15 totalTimeCountInMilliseconds = 15 000,


а в API19 totalTimeCountInMilliseconds =10785000

а что не так-то, только с проверкой версии будет работать или что не правильно?


Подскажите пожалуйста.
0
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.03.2017, 12:14
Ответы с готовыми решениями:

Проект с API 25 не работает на более ранних версиях
Подскажите, пожалуйста. Опытные. Создаю проект в intlje IDE от jet brains и у меня по дефолту...

Различия в поведении MediaPlayer в разных версиях ОС
ситуация: простое приложение для воспроизведения аудиопотока интернет-радиостанции, используется...

IE отображение в разных версиях
Работаю с IE (необходима совместимость). Дело такое - использую bootstrap-datepicker. Решил тут...

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

Открытие проектов в разных версиях VS
Скажите, работы которые делаешь в Microsoft Visual Studio 2010 будут открываться без ошибок в...

9
Pablito
2848 / 2265 / 763
Регистрация: 12.05.2014
Сообщений: 7,951
Завершенные тесты: 1
28.03.2017, 12:37 2
без разницы какая версия, код рабочий
0
disx
23 / 23 / 0
Регистрация: 26.02.2014
Сообщений: 601
Записей в блоге: 1
28.03.2017, 12:52  [ТС] 3
Паблито, а в чем тогда прикол может быть, на эмуляторе с API19 и на Телефоне API19, одно и то же,...

на остальных нормально...!?

Добавлено через 7 минут
Java
1
2
3
API 19: 03-28 12:50:42.308 17399-17399/com.dis.medprog D/DisLog: date -10785000 00:15
 
API 23: 03-28 09:48:49.963 3070-3070/com.dis.medprog D/DisLog: date 15000 00:15
0
Pablito
2848 / 2265 / 763
Регистрация: 12.05.2014
Сообщений: 7,951
Завершенные тесты: 1
28.03.2017, 13:06 4
пальцем в небо
Java
1
SimpleDateFormat sdf = new SimpleDateFormat("mm:ss", Locale.ROOT);
0
28.03.2017, 13:06
disx
23 / 23 / 0
Регистрация: 26.02.2014
Сообщений: 601
Записей в блоге: 1
28.03.2017, 13:27  [ТС] 5
Паблито, не помогло пока,

TimePicker c этим кодом тоже самое дает:

API19:
Java
1
03-28 14:22:55.391 2823-2823/? D/DisLog: date: -10738000 01:02
API23:
Java
1
03-28 10:23:53.761 7371-7371/com.dis.medprog D/DisLog: date: 62000 01:02

шо ж не так-то...
0
ExFau$t
860 / 692 / 194
Регистрация: 08.05.2012
Сообщений: 3,349
28.03.2017, 13:44 6
Заюзай класс Calendar.
И проверить одну штуку, вместо null в
Java
1
Date date = null;
подставь текущую дату.
0
disx
23 / 23 / 0
Регистрация: 26.02.2014
Сообщений: 601
Записей в блоге: 1
28.03.2017, 13:54  [ТС] 7
ExFau$t, сделал так:
Java
1
2
 Calendar calendar = Calendar.getInstance();
        Date date = calendar.getTime();
все равно
Java
1
03-28 13:53:02.406 12347-12347/com.dis.medprog D/DisLog: date: -10785000 00:15
да и с минусом почему-то отображается....
0
Pablito
2848 / 2265 / 763
Регистрация: 12.05.2014
Сообщений: 7,951
Завершенные тесты: 1
28.03.2017, 13:59 8
я бы проверял напрямую - не читать текст из EditText а в коде вписать значение ""00:15

и да, готовый код бы не помешал на котором проводится тест
0
disx
23 / 23 / 0
Регистрация: 26.02.2014
Сообщений: 601
Записей в блоге: 1
28.03.2017, 14:16  [ТС] 9
Паблито, вписал в String getTime, тоже самое...

тут:
Main и Timer - https://yadi.sk/d/xF6A71PY3GR4KF
0
Pablito
2848 / 2265 / 763
Регистрация: 12.05.2014
Сообщений: 7,951
Завершенные тесты: 1
28.03.2017, 14:35 10
Лучший ответ Сообщение было отмечено disx как решение

Решение

я понял, там не хватает
Java
1
sdf.setTimeZone(TimeZone.getTimeZone("UTC"));
1
28.03.2017, 14:35
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.03.2017, 14:35

Delay в разных версиях Паскаль.
Почему задержка в различных версиях языка ТурбоПаскаль работает не одинаково?? Написал программу,и...

Запуск программ в разных версиях Windows 7
Здравствуйте. Подскажите пожалуйста, в чем может быть проблема. У меня установлена Win 7 Ultimate,...

Выполнение кода на разных версиях VBA
Слышал что вроде на 2003 офисе у текстбокса нет события ENTER. Будет ли мой код с таким событием...


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

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

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