Busqué un formato estándar para usar una fecha / hora como parte del nombre de un archivo y no pude encontrar nada.
Mi pregunta es de dos partes:
Está usando marcas de tiempo para hacer cumplir único en los nombres de archivo una mala práctica?
Podría obtener el tiempo desde la fecha de creación y serializar los nombres de archivo (file0001.bak, file0002.bak, etc.) pero solo incluir la marca de tiempo permite realizar operaciones de archivo como mv 2011-01* somewhere/
. ¿Hay alguna desventaja en usar este tipo de sistema de nombres?
El formato que estoy usando es YYYY-mm-dd_HH-MM-SS
.
¿Hay un mejor formato que debería estar usando?
Con este formato, ¿debería preocuparme la compatibilidad del sistema de archivos, las preocupaciones de str_to_date_parsing, etc.?
¡Gracias!
editar:
Podría haber querido omitir el bit de unicidad de cumplimiento, ya que es un solo usuario que genera una copia de seguridad utilizando un cronjob (no debería haber ningún problema de concurrencia).
fuente
Respuestas:
Debe considerar el formato ISO 8601 (2013-04-01T13: 01: 02). Sí, hay estándares para estas cosas. Se pueden omitir los dos puntos y guiones.
La cadena de formato que uso generalmente
%Y%m%dT%H%M%S
produce 20130401T130102. Dependiendo de los requisitos, omito los valores de la izquierda. En un script bash, obtengo la fecha con una línea como:fuente
"%Y-%m-%dT%H:%M:%S%z"
YYYY-MM-DD-HHMMSS
(podría omitir elSS
en algunos casos). La parte de la fecha es bastante legible, y la parte del tiempo es lo suficientemente legible para la mayoría de los propósitos.2019.04.01-13.01.02.JPG
o nombres similares (por ejemplo190401-130102.JPG
:) son mejores para los ojos. @ Zero3No, esta bien.
Numerarlos secuencialmente es más trabajo. Piense en la marca de tiempo como una numeración creciente pero no secuencial.
No, se hace todo el tiempo.
Eso es bueno, porque se ordenarán en orden cronológico. Perdería el guión bajo, solo porque es más fácil escribir un guión.
Realmente no.
fuente
Depende de su aplicación. A veces se puede usar una marca de tiempo como la que describió. A veces, cuando la colisión de nombres es una preocupación, puede usar un generador GUID .
fuente
El formato que está utilizando está bien, pero si desea unicidad y el tiempo no tiene otro significado, puede tener un problema de concurrencia en su aplicación si la aplicación es utilizada por múltiples usuarios al mismo tiempo y todos hacen que los archivos se creen de la misma manera. carpeta. Si solo desea unicidad, puede considerar la generación de GUID y eliminar cualquier carácter no válido, como llaves y guiones, y usarlo como nombre de archivo.
fuente
El uso del formato ISO 8601 también le permite ordenar los archivos por fecha (suponiendo que todos tengan el mismo prefijo).
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
fuente
El FBI tiene un problema de "usuario único" de respaldar 100 millones de huellas dactilares de arrestos criminales que reciben de toda la policía en todas partes ...
... comienzan con la fecha: aaaammdd
No sé cómo continúan. Sigo con hhmm y para mí eso lo hace.
Usar GMT / Zulu parece una excelente idea para una solución global. Personalmente uso ET, y el FBI "personalmente" también usa ET, ya que allí es donde tienen su sede.
fuente