Я искал стандартный формат для использования даты / времени в качестве части имени файла и не смог ничего придумать.
Мой вопрос состоит из двух частей:
Использует метки времени для обеспечения уникальности в именах файлов плохая практика?
Я мог бы получить время от даты создания и сериализовать имена файлов (file0001.bak, file0002.bak и т. Д.), Но только включение отметки времени позволяет выполнять такие операции с файлами, как mv 2011-01* somewhere/
. Есть ли недостаток в использовании этого типа системы именования?
Формат, который я использую, это YYYY-mm-dd_HH-MM-SS
.
Есть ли лучший формат, который я должен использовать?
С этим форматом я должен быть обеспокоен совместимостью файловой системы, проблемами str_to_date_parsing и т. Д.?
Спасибо!
редактировать:
Возможно, я хотел бы пропустить бит уникальности принудительного применения, так как это единственный пользователь, создающий резервную копию с помощью cronjob (не должно быть никаких проблем параллелизма).
источник
Ответы:
Следует учитывать формат ISO 8601 (2013-04-01T13: 01: 02). Да, есть стандарты для этих вещей. Двоеточия и дефисы могут быть опущены.
Строка формата, которую я обычно использую,
%Y%m%dT%H%M%S
дает 20130401T130102. В зависимости от требований я опускаю значения слева. В скрипте bash я получаю дату в виде строки:источник
"%Y-%m-%dT%H:%M:%S%z"
YYYY-MM-DD-HHMMSS
(я мог бы опуститьSS
в некоторых случаях). Часть даты вполне читаема, а часть времени достаточно читаема для большинства целей.2019.04.01-13.01.02.JPG
или похожие имена (например190401-130102.JPG
:) лучше для глаз. @ Zero3Нет, все хорошо.
Нумерация их последовательно - это больше работы. Думайте о метке времени как о возрастающей, но непоследовательной нумерации.
Нет, это делается все время.
Это хорошо, потому что они будут отсортированы в хронологическом порядке. Я бы потерял подчеркивание только потому, что легче набрать дефис.
На самом деле, нет.
источник
Это зависит от вашего приложения. Иногда можно использовать временную метку, подобную той, которую вы описали. Иногда, когда возникает конфликт имен, вы можете использовать генератор GUID .
источник
Формат, который вы используете, подходит, но если вам нужна уникальность, а время не имеет другого значения, у вас может быть проблема параллелизма в приложении, если приложение используется несколькими пользователями одновременно, и все они приводят к созданию файлов в одном и том же папка. Если вы просто хотите уникальности, вы можете подумать о создании GUID и об удалении любых недопустимых символов, таких как фигурные скобки и тире, и использовать его в качестве имени файла.
источник
Использование формата ISO 8601 также позволяет сортировать файлы по дате (при условии, что все они имеют одинаковый префикс).
http://www.iso.org/iso/support/faqs/faqs_widely_used_standards/widely_used_standards_other/date_and_time_format.htm
http://en.wikipedia.org/wiki/ISO_8601
источник
У ФБР есть «единственная» проблема с пользователем, которая заключается в резервном копировании 100 миллионов отпечатков пальцев при аресте, полученных от всех полицейских во всем мире ...
... они начинаются с даты: ггггммдд
Я не знаю, как они продолжаются. Я продолжаю с хм и для меня это делает.
Использование GMT / Zulu звучит как отличная идея для глобального решения. Лично я использую ET, и ФБР «лично» также использует ET, так как именно там они находятся.
источник