이것은 다소 주관적인 질문이며 큰 계획에서는 그다지 중요하지 않지만 정기적으로 나를 괴롭히는 것입니다. 파일 이름에 타임 스탬프 를 넣는 자명 한 방법은없는 것 같습니다 .
목표 문제는 파일 이름의 타임 스탬프를 정렬 할 수 있어야한다는 것 입니다. 그러나 "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를 사용하는 것이 좋습니다.
또 다른 한 가지는 추측과 실수를 방지하기 위해 UTC는 항상 'Z', 'GMT'또는 'UTC'로 표시되어야한다는 것입니다.
율리우스 날짜 및 기타 우주력은 와 날짜 산술 때문에 멋진 그레고리 안 달력은 뇌사입니다.