빠른 분석

빠른 분석

일부 오래된 스캔 사진의 생성 날짜를 1970년 날짜로 설정하고 싶습니다. 타사 도구를 사용하여 설정하면 Windows 탐색기에서 날짜가 공백으로 표시됩니다. 나는 NTFS가 언젠가는 1600년대로 돌아갈 수 있다고 생각했습니다. 무슨 일이야?

답변1

빠른 분석

폴더를 탐색할 때 Windows 탐색기는 특정 범위를 벗어난 날짜를 표시하지 않습니다.

MS-DOS 날짜 형식은 1980년 1월 1일부터 2107년 12월 31일 사이의 날짜만 나타낼 수 있습니다.

원천:FileTimeToDosDateTime 함수

이는 날짜를 수동으로 설정하여 확인할 수 있습니다.

스크린샷 1

내 가정은 이 동작이 이전 버전과의 호환성과 관련이 있다는 것입니다. 언제NTFS존재하지 않았기 때문에 생성 날짜, 수정 날짜, 액세스 날짜가 각각 16비트(2바이트)를 차지하도록 설계되었습니다. 정보는 다음과 같이 포장됩니다.

Bits | Description
-------------------------------------------------------
0–4  | Day (1-31)
5–8  | Month (1 = January, 2 = February, etc.)
9-15 | Year offset from 1980 (0 = 1980, 1 = 1981, etc.)

비트를 절약하기 위해 연도는 정수로 저장되지 않습니다. 대신 오프셋이 사용됩니다. 7비트이므로 2^7 = 128가능한 값, 즉 1980-2107을 의미합니다.

NTFS의 경우 문서에 다음과 같이 나와 있습니다.

파일 시간1601년 1월 1일 오전 12시(UTC) 협정 세계시(UTC) 이후 경과된 100나노초 간격의 수를 나타내는 64비트 값입니다. 시스템은 애플리케이션이 파일을 생성하고, 액세스하고, 파일에 쓸 때 파일 시간을 기록합니다.

NTFS 파일 시스템은 시간 값을 UTC 형식으로 저장하므로 시간대나 일광 절약 시간 변경의 영향을 받지 않습니다. FAT 파일 시스템은 컴퓨터의 현지 시간을 기준으로 시간 값을 저장합니다.

원천:파일 시간

추가 읽기


해결 방법

어떤 경우에는 다음을 통해 이 문제를 우회할 수 있습니다.EXIF태그:

스크린샷 2

파일 속성 대화 상자에는 기본 파일 시스템에서 지원하는 모든 날짜가 표시될 수 있습니다.

스크린샷 3

다음 명령 을 사용할 때 명령줄 인터페이스도 마찬가지입니다 dir.

01/01/1601  02:23 AM                 0 1-oldest.txt
01/01/1970  02:23 AM                 0 2-older.txt
01/01/1980  02:23 AM                 0 3-old.txt
01/01/2014  02:23 AM                 0 4-current.txt
01/01/2107  02:23 AM                 0 5-new.txt
01/01/9999  02:23 AM                 0 6-newer.txt

다음과 같은 타사 프로그램7-Zip영향을 받지 않을 수도 있습니다:

스크린샷 4

관련 정보