Formato "Estándar" para usar una marca de tiempo como parte de un nombre de archivo [cerrado]

74

Busqué un formato estándar para usar una fecha / hora como parte de un nombre de archivo y no pude encontrar nada.

Mi pregunta tiene dos partes:

¿Es una mala práctica el uso de sellos de tiempo para imponer un único en los nombres de archivos?

Podría obtener el tiempo desde la fecha de creación y serializar los nombres de los archivos (file0001.bak, file0002.bak, etc.) pero solo con la marca de tiempo permite realizar operaciones de archivo como mv 2011-01* somewhere/ . ¿Hay algún inconveniente en utilizar este tipo de sistema de nombres?

El formato que estoy usando es YYYY-mm-dd_HH-MM-SS .

¿Debo utilizar un formato mejor?

Con este formato, ¿debería preocuparme por la compatibilidad del sistema de archivos, las preocupaciones de str_to_date_parsing, etc.?

Gracias!

editar:

Es posible que haya querido omitir el bit de unicidad forzar , ya que es un solo usuario que genera una copia de seguridad con un cronjob (no debería haber ningún problema de concurrencia).

    
pregunta kriegar 25.03.2011 - 00:43

6 respuestas

53

Debería considerar el formato ISO 8601 (2013-04-01T13: 01: 02). Sí, hay normas para estas cosas. Se pueden omitir los dos puntos y guiones.

La cadena de formato que suelo usar es %Y%m%dT%H%M%S con 20130401T130102. Dependiendo de los requisitos omito valores de la izquierda. En un script de bash obtengo la fecha con una línea como:

LOGDATE=$(date +%Y%m%dT%H%M%S)
    
respondido por el BillThor 25.03.2011 - 02:30
3

Depende de tu aplicación. A veces se puede usar una marca de tiempo como la que describiste. A veces, cuando la colisión de nombres es una preocupación, puede usar un generador de GUID .

    
respondido por el grokus 25.03.2011 - 00:52
3
  

Busqué un formato estándar para usar una fecha / hora como parte de un nombre de archivo y no pude encontrar nada.

     

Mi pregunta tiene dos partes:

     

¿Es una mala práctica usar una marca de tiempo para imponer nombres de archivos únicos?

No, está bien.

  

Podría obtener el tiempo desde la fecha de creación y serializar los nombres de los archivos (file0001.bak, file0002.bak, etc.)

Numerarlos secuencialmente es más trabajo. Piense en la marca de tiempo como una numeración creciente pero no secuencial.

  

pero solo con la marca de tiempo, podemos realizar operaciones de archivo como mv 2011-01 * en algún lugar /. ¿Hay algún inconveniente en utilizar este tipo de sistema de nombres?

No, se hace todo el tiempo.

  

El formato que estoy usando es YYYY-mm-dd_HH-MM-SS.

Eso es bueno, porque se ordenarán cronológicamente. Perdería el guión bajo, solo porque es más fácil escribir un guión.

  

¿Hay algún formato mejor que debería estar usando?

En realidad no.

    
respondido por el kevin cline 25.03.2011 - 00:56
2

El formato que está utilizando está bien, pero si desea singularidad y la hora no tiene otro significado, es posible que tenga problemas de concurrencia en su aplicación si la aplicación es utilizada por varios usuarios al mismo tiempo y todos hacen que se creen los archivos. en la misma carpeta Si solo desea la singularidad, puede considerar la generación de GUID y eliminar cualquier carácter no válido como llaves y guiones y utilizarlo como nombre de archivo.

    
respondido por el M.Sameer 25.03.2011 - 00:53
2

El uso del formato ISO 8601 también le permite ordenar los archivos por fecha (suponiendo que todos tienen el mismo prefijo).

enlace
enlace

    
respondido por el Tangurena 25.03.2011 - 03:39
-3

El FBI tiene un problema de "un solo usuario" de hacer copias de seguridad de 100 millones de huellas dactilares de arrestos que reciben de toda la policía en todas partes ...

... comienzan con la fecha: aaaammdd

No sé cómo continúan. Continúo con hhmm y para mí eso lo hace.

Utilizar GMT / Zulu suena como una excelente idea para una solución global. Personalmente uso ET, y el FBI "personalmente" usa ET también, ya que es allí donde tienen su sede.

    
respondido por el dave 12.12.2014 - 13:39

Lea otras preguntas en las etiquetas