Procurei um formato padrão para usar uma data / hora como parte de um nome de arquivo e não consegui encontrar nada.
Minha pergunta é de duas partes:
Está usando carimbos de hora para aplicar exclusivo em nomes de arquivos uma má prática?
Eu poderia obter o horário a partir da data de criação e serializar os nomes dos arquivos (file0001.bak, file0002.bak, etc), mas apenas incluir o registro de data e hora permite executar operações de arquivo como mv 2011-01* somewhere/
. Existe uma desvantagem em usar esse tipo de sistema de nomes?
O formato que estou usando é YYYY-mm-dd_HH-MM-SS
.
Existe um formato melhor que eu deveria estar usando?
Com este formato, eu deveria me preocupar com a compatibilidade do sistema de arquivos, preocupações com str_to_date_parsing, etc?
Obrigado!
editar:
Talvez eu queira deixar de fora o bit exclusivo de imposição, pois é um único usuário que gera backup usando um cronjob (não deve haver problemas de simultaneidade).
fonte
Respostas:
Você deve considerar o formato ISO 8601 (2013-04-01T13: 01: 02). Sim, existem padrões para essas coisas. Os dois pontos e hífens podem ser omitidos.
A string de formato que eu costumo usar está
%Y%m%dT%H%M%S
produzindo 20130401T130102. Dependendo dos requisitos, omito os valores da esquerda. Em um script bash, recebo a data com uma linha como:fonte
"%Y-%m-%dT%H:%M:%S%z"
YYYY-MM-DD-HHMMSS
(eu posso omitir oSS
em alguns casos). A parte da data é bastante legível e a parte da hora é legível o suficiente para a maioria dos propósitos.2019.04.01-13.01.02.JPG
ou nomes semelhantes (por exemplo190401-130102.JPG
:) são muito melhores para os olhos. @ Zero3Não, está bem.
Numerá-los sequencialmente é mais trabalho. Pense no registro de data e hora como uma numeração crescente, mas não seqüencial.
Não, é feito o tempo todo.
Isso é bom, porque eles serão classificados em ordem cronológica. Eu perderia o sublinhado, apenas porque é mais fácil digitar um hífen.
Na verdade não.
fonte
Depende da sua aplicação. Às vezes, um carimbo de data e hora como o que você descreveu pode ser usado. Às vezes, quando a colisão de nomes é uma preocupação, você pode usar um gerador de GUID .
fonte
O formato que você está usando é bom, mas se você quiser exclusividade e o horário não tiver outro significado, poderá haver um problema de simultaneidade no aplicativo se o aplicativo for usado por vários usuários ao mesmo tempo e todos causarem a criação de arquivos no mesmo pasta. Se você deseja apenas exclusividade, considere a geração de GUID e a remoção de caracteres inválidos, como chaves e traços, e use-o como o nome do arquivo.
fonte
O uso do formato ISO 8601 também permite classificar os arquivos por data (presumindo que todos tenham o mesmo prefixo).
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
fonte
O FBI tem um problema "único" de fazer backup de 100 milhões de impressões digitais de prisão criminal que eles recebem de toda a polícia em todos os lugares ...
... eles começam com a data: aaaammdd
Não sei como eles continuam. Eu continuo com hhmm e para mim faz isso.
Usar o GMT / Zulu parece uma excelente idéia para uma solução global. Pessoalmente, eu uso ET, e o FBI "pessoalmente" também usa ET, já que é onde eles estão sediados.
fonte