2013-09-05 4 views
0

Я должен хранить время в форме hh:mm:ss:ff, т. Е. Часы, минуты, секунды и кадры, где есть 25 кадров в секунду.Время с кадрами в java

Какой тип данных подходит или мне нужно создать отдельные столбцы в течение часа, мин, сек, кадров?

+0

Что это за материал? – BetaRide

+0

кадра - это под единица секунды, где 25 кадров = 1 сек. – POJO

+0

Это не имеет смысла. Под подразделение должно быть частью супер единицы. В вашем случае было бы целесообразно сделать секунды вспомогательной единицей кадра. В конце концов, пойдите с ответом Рене. – BetaRide

ответ

1

1 кадр всегда 25 секунд и наоборот? Если это так, просто сохраните его как секунды или кадры как Integer и рассчитать остальные.

+0

Я считаю, что сохранить его как строку i.e hh: mm: ss: ff и использовать функцию для преобразования во времени, где когда-либо было необходимо. – POJO

+0

@ user2229994 Почему? В чем разница, если вы конвертируете его в строку или из нее? Хранение в качестве номера также позволяет тривиальную математику без необходимости конвертировать первую. –

+0

@ user2229994 Сохранение '1: 10: 30: 25' как 'String'' 10 Bytes'. Сохраняя его как «Unsigned Integer», вы можете получить до 4 294 967 295 секунд (136 лет) вместо «4 байтов». –

0

В моих глазах, насколько это касается способа хранения, это не имеет значения. Почему ?:

Ну, ваш целевой формат содержит нестандартную часть времени, поэтому вам нужно преобразовать его где-нибудь в свой код. Этот факт открывает по крайней мере-два способов:

  • В случае, если вы хотите использовать стандартный формат базу данных, вы используете миллисекунду числа «кадров». Из-за того, что 25 кадров - так напоминает мне по частоте кадров видео - 1 секунда, так 40 миллисекунд один кадр.

или

  • В случае, если вы хотите использовать стандартный формат базы данных, вы можете сохранить время без блока frame в стандартном формате и добавить дополнительный столбец в таблице базы данных. В этом хранилище количество кадров. После прочтения сохраненных данных вы должны поместить оба столбца вместе.

Я думаю, что последняя идея является хорошим компромиссом между вашими вариантами, о которых вы говорили в своем вопросе.

+0

Спасибо, я думаю, используя ваш первый вариант, это хорошо. Какой тип данных следует использовать для хранения времени (hh: mm: ss: mmmm) только в java и базе данных – POJO

+0

Для mySQL: http://stackoverflow.com/questions/1459909/how-to-insert-time-2009- 09-22-180937-881-в-MySQL-мой-колонный тип-это-DateTime. В отношении части даты (год, месяц, день) используют такую ​​же дату. Много работать, взглянуть на мою вторую идею. В Java используйте 'java.util.Date'. – reporter

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