파일 이름의 일부로 타임 스탬프를 사용하기위한 "표준"형식 [닫힘]


85

파일 이름의 일부로 날짜 / 시간을 사용하기위한 표준 형식을 검색했지만 아무것도 만들 수 없었습니다.

내 질문은 두 부분입니다.

타임 스탬프를 사용하고 있습니다 독특하게 파일 이름이 좋지 않은 연습?

생성 날짜에서 시간을 가져 와서 파일 이름 (file0001.bak, file0002.bak 등)을 직렬화 할 수 있지만 타임 스탬프를 포함하면과 같은 파일 작업을 수행 할 수 있습니다 mv 2011-01* somewhere/. 이 유형의 명명 시스템을 사용하는 데 단점이 있습니까?

내가 사용하는 형식은 YYYY-mm-dd_HH-MM-SS입니다.

더 나은 형식을 사용해야합니까?

이 형식을 사용하면 파일 시스템 호환성, str_to_date_parsing 문제 등과 관련이 있습니까?

감사!

편집하다:

cronjob을 사용하여 백업을 생성하는 단일 사용자이기 때문에 강제 유일성 비트를 생략하고 싶을 수도 있습니다 (동시성 문제는 없어야 함).


9
일반적으로 YYYYmmddHHMMSS를 사용하면 숫자 또는 어휘로 정렬 / 필터링 할 수 있습니다.
Orbling

"yyyy mmdd hhmm"을 사용합니다. 우리 회사는 전 세계에 진출 했으므로 GMT를 사용하여 타임 스탬프를 사용합니다. 이 글을 쓰면 "2011 0325 0245"가됩니다. 왜냐하면 지금은 런던의 시간이기 때문입니다 (현재는 여전히 표준 시간입니다). 동부 표준시 인 현지 시간으로 지정하려면 "yyyy mmdd hhmm ET"을 사용합니다.
Mike Rosenblum

나는 Epoch 이후 초를 사용하므로 시간대, 윤년 및 일광 절약을 처리 할 필요가 없습니다. 또한 날짜 / 시간 수학을 더 쉽게 만듭니다.
dietbuddha


2
나는 blog.xam.de/2016/07/ 의 포스트에서 ISO 8601에 근거한 형식을 제안한다 .- 형식에 동의 할 수 있다면 세상을 더 편하게 만들 것이다 :-)
Dr. Max Völkel

답변:


62

ISO 8601 형식 (2013-04-01T13 : 01 : 02)을 고려해야합니다. 그렇습니다. 이것들에 대한 표준이 있습니다. 콜론과 하이픈은 생략 될 수 있습니다.

내가 일반적으로 사용하는 형식 문자열은 %Y%m%dT%H%M%S20130401T130102입니다. 요구 사항에 따라 왼쪽에서 값을 생략합니다. bash 스크립트에서 다음과 같은 줄로 날짜를 얻습니다.

LOGDATE=$(date +%Y%m%dT%H%M%S)

32
콜론은 파일 이름이 불법이므로 Windows 시스템을 사용하는 경우 반드시 생략해야합니다!
Carson63000

2
그 사용의 strftime를 들어, 형식 문자열입니다"%Y-%m-%dT%H:%M:%S%z"
알렉 제이콥슨

6
사용합니다 YYYY-MM-DD-HHMMSS( SS경우에 따라 생략 할 수도 있음 ). 날짜 부분은 읽을 수 있으며 시간 부분은 대부분의 목적에 충분히 읽을 수 있습니다.
Keith Thompson

15
표준 여부에 관계없이 "20130401T1301102"는 사용자에게 친숙하지 않습니다. 이름에 타임 스탬프가있는 소프트웨어 로그 파일을 보면 눈이 아파요.
Zero3

1
2019.04.01-13.01.02.JPG또는 유사한 이름 (예 190401-130102.JPG:)이 눈에 더 좋습니다. @
Zero3

4

파일 이름의 일부로 날짜 / 시간을 사용하기위한 표준 형식을 검색했지만 아무것도 만들 수 없었습니다.

내 질문은 두 부분입니다.

고유 한 파일 이름을 적용하기 위해 타임 스탬프를 사용하는 것이 좋지 않습니까?

아냐 괜찮아

생성 날짜에서 시간을 가져 와서 파일 이름 (file0001.bak, file0002.bak 등)을 직렬화 할 수 있습니다

순차적으로 번호를 매기는 것이 더 효과적입니다. 타임 스탬프는 증가하지만 순차적이지 않은 번호 매기기로 생각하십시오.

그러나 타임 스탬프를 포함하면 mv 2011-01 * somewhere /와 같은 파일 작업을 수행 할 수 있습니다. 이 유형의 명명 시스템을 사용하는 데 단점이 있습니까?

아니, 항상 끝났어

사용중인 형식은 YYYY-mm-dd_HH-MM-SS입니다.

시간순으로 정렬되기 때문에 좋습니다. 하이픈을 입력하기가 쉽기 때문에 밑줄을 잃을 것입니다.

더 나은 형식을 사용해야합니까?

실제로는 아닙니다.


2
"ISO 표준 시간 형식 사용"이라고 말하고 싶습니다. 따라서 YYYY-mm-ddTHH : MM : SS (또는 yyyymmddTHHMMSS)입니다.
Vatine

3

응용 프로그램에 따라 다릅니다. 때로는 설명 한 것과 같은 타임 스탬프를 사용할 수 있습니다. 이름 충돌이 우려되는 경우 GUID 생성기를 사용할 수 있습니다 .


2

사용중인 형식은 좋지만 고유성을 원하고 시간이 다른 의미가 없다면 응용 프로그램을 여러 사용자가 동시에 사용하고 파일을 모두 같은 파일로 만들면 응용 프로그램에서 동시성 문제가 발생할 수 있습니다 폴더. 고유성을 원한다면 GUID 생성을 고려하고 중괄호 및 대시와 같은 유효하지 않은 문자를 제거하여 파일 이름으로 사용할 수 있습니다.



-3

FBI는 모든 경찰로부터받는 1 억 건의 형사 체포 지문을 백업하는 "단일"사용자 문제가 있습니다 ...

... 날짜로 시작합니다 : yyyymmdd

나는 그들이 어떻게 계속되는지 모른다. 나는 hhmm을 계속하고 나를 위해 그렇게합니다.

GMT / Zulu를 사용하는 것은 글로벌 솔루션에 대한 훌륭한 아이디어처럼 들립니다. 개인적으로 저는 ET를 사용하고 있으며 FBI는 "개인적으로"ET를 사용합니다.


3
이것은 다른 게시물의 훨씬 일반적인 토론에 아무런 영향을 미치지 않습니다. 실제로는 법적 인물, 정렬 및 고유성과 같은 측면을 다루고 있습니다.
Martijn Pieters
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.