У меня есть два поля в файле .CSV. Я разбираюсь в том, что должно представлять время. В настоящее время они представляют собой 5 или 6 цифр (т. Е. 85323 будет 8:53:23, или 163211 будет 16:32:11). Мне нужно бросить двоеточия (:) там. Будет что-то вродеЧисло времени в формате Perl?
strptime->strftime
с использованием
Time::Piece
работать на что-то подобное? Или, может быть, нет, поскольку в настоящее время они обрабатываются как VARCHAR для загрузки в таблицу MySQL и, вероятно, должны быть заменены на тип TIME.
подушечка из 6 цифр ('85323' ->' 085323'), расщепленных на каждом 2-ом полукокса: '[08,53,23]', сливают с ':' -> '08: 53: 23' –
Вы действительно должны хранить время в своей базе данных в качестве подходящего te [временный тип] (http://dev.mysql.com/doc/refman/5.7/en/date-and-time-types.html) вместо VARCHAR. Это позволит вам выполнить проверку (например, отклонить значения типа «00: 00: 60') и математику даты/времени (например, 12:00:00 - 11:59:59 = 00:00:01 вместо 4041), среди другие вещи. – ThisSuitIsBlackNot
Я думаю, что он должен быть изменен на тип TIME, но TPTB говорят, чтобы придерживаться VARCHAR, поскольку некоторые другие различные программы (к которым я не имею никакого отношения) будут использовать эти данные. Поэтому мне, возможно, даже не нужно менять его в соответствующий формат TIME. Ожидаем подтверждения на этом – BigRedEO