파일 이름에서 가장 좋아하는 날짜 및 시간 형식은 무엇입니까?
이것은 다소 주관적인 질문이며 큰 계획에서는 그다지 중요하지 않습니다. 파일 이름에 타임 스탬프 를 넣는 것은 자명 한 방법은없는 것 입니다.
목표 문제는 파일 이름의 스탬프를 정렬 할 수있는 타임 것 입니다. 그러나 "s" ( "yyyy-MM-ddTHH:mm:ss"
) 및 "u" ( "yyyy-MM-dd HH:mm:ssZ"
) 와 같은 .NET 정렬 가능 날짜 형식 은 ':'문자로 인해 파일 이름에서 유효하지 않습니다.
다른 한가지는 세계 표준시나 현지 시각 이 사용 하실 수 있습니다. 실제로 사용자는 표준시보다 현지 시간을 선호하는 것입니다.
대부분의 기본 시간 형식으로 ISO 8601 을 사용했습니다 .
- 현지 시간 형식
"yyyy-MM-ddTHHmmsszz"
- UTC 형식
"yyyy-MM-ddTHHmmssZ"
이 형식에서 내 현재 현지 시간은 "2009-08-08T151800+03"
UTC"2009-08-08T121800Z"
또한 함께 DateTime.Kind 자동 감지 할 수 있습니다 "K" 와 사용 "yyyy-MM-ddTHHmmssK"
,하지만 당신은 바꿔야합니다 ':'문자.
다른 제안이 있습니까?
편집 : 지금까지 몇 가지 메모 :
"yyyy-MM-ddTHHmmsszz"
여러 존재가 관련된 경우 현지 시간 + 등장 형식 을 더 이상 정렬 할 수 없습니다. 대부분의 경우에는 사용하는 것이 좋습니다.
UTC를 항상 'Z', 'GMT'또는 'UTC'로 표시해야하는 것입니다.
율리우스 날짜 및 기타 우주력은와 날짜 산술 때문에 멋진 그레고리 안 달력은 뇌사입니다.
나는 이것을 사용한다 :
My-File--2009-12-31--23-59-59.txt
- 공백 없음
- 조각을 구분하기 위해 이중 대시를 사용하여 각 조각을 쉽게 볼 수 있습니다.
- 단 하나의 구두점 문자 (대시)로 쉽게 입력 할 수 있습니다.
- 나에게는 항상 현지 단어로 작업하기 때문에 존재하지 않습니다. 필요한 경우 UTC로 이동
--UTC
하여 시간 내 " "를 추가 합니다.
YYYY-MM-DD HHmmss
ISO 날짜로 구문 분석 할 필요가없는 한 파일 이름에 사용 합니다. 이 경우 ISO 날짜가 선호 될 것입니다.
편집이 필요합니다. 모든 것을 UTC로 저장하고 사람들에게 모든 것이 UTC임을 알리는 것이 모든 것의 존재를 지정하는 것보다 처음입니다.
내가 사용하는 것은 다음과 가능합니다.
private static string CreateMeaningfulFileName(string friendlyName, DateTime date)
{
StringBuilder sb = new StringBuilder();
foreach (string s in friendlyName.Split(new char[] { ' ' }))//remove spaces
{
sb.Append(CultureInfo.CurrentCulture.TextInfo.ToTitleCase(s.ToLower()));//capitalize each segment
}
sb.Append("_" + date.ToString("yyyy-MM-dd_HH-mm"));//add date
return sb.ToString();
}
날짜와 설명이 필요합니다. "I like DOGS"를 사용합시다. 결과 :
ILikeDogs_1999-09-23_18-42
타임 스탬프가 사람이 읽을 수있는 필요 사항이 있습니까? 그렇지 않은 경우 DateTime.Ticks.ToString () 사용할 수 있습니다 . 매우 이상하고 정렬 가능하며 특수 문자가 없습니다.
일반적으로 yyyymmdd를 사용합니다. 추가 추가가 필요한 경우 yyyymmddhhmmss로 변경됩니다.
나는 유닉스 타임 스탬프를 사용합니다. epoch에서 몇 초가 지 났는지. 모든 시간은 UTC입니다. 그러나 원하는 경우 사용할 데이터를 접두사로 사용할 수 있습니다.
'ProgramingTip' 카테고리의 다른 글
빈 인터페이스 코드 유전자가 있습니까? (0) | 2020.10.17 |
---|---|
_ (밑줄) 변수는 어디에 어떻게 지정 검증? (0) | 2020.10.17 |
SBT에 의해 생성 된 * 모든 것 *을 제거하는 쉬운 방법? (0) | 2020.10.17 |
병합 후 브랜치를 삭제해야할까요? (0) | 2020.10.17 |
HTML에서 구성 요소의 선택기 태그 제거 / (0) | 2020.10.17 |