날짜·시간 변환기
날짜와 시간을 여러 형식으로 변환합니다.
날짜 문자열을 Unix timestamp, ISO 8601, RFC 3339, Excel 날짜 등 여러 형식으로 바꿔 같은 시점을 한눈에 비교합니다.
사용 순서
- 입력 칸에 날짜 문자열이나 숫자를 넣습니다. 형식이 맞으면 오른쪽 선택 상자가 해당 형식으로 자동 바뀝니다.
- 자동 판별이 맞지 않으면 오른쪽 선택 상자에서 입력값의 형식을 직접 고릅니다.
- 아래 목록에서 각 형식으로 바뀐 결과를 확인하고 필요한 값은 복사 버튼으로 가져갑니다.
- 입력을 비우면 현재 시각을 기준으로 모든 형식이 표시됩니다.
예시
입력 1700000000은 Unix timestamp(초)로 인식되며, UTC format 항목에 Tue, 14 Nov 2023 22:13:20 GMT가 표시됩니다.
한계
자동 판별은 입력 모양만 보고 순서대로 검사합니다. 13자리 이하의 숫자는 Unix timestamp가 먼저 잡히므로 45292 같은 Excel 날짜 숫자도 Unix 초로 해석됩니다. Excel 형식은 소수점이나 음수가 있는 값에서만 자동으로 선택됩니다. JavaScript locale 문자열, ISO 8601, ISO 9075, RFC 3339 결과는 브라우저의 로컬 시간대 기준으로 만들어지므로 시간대가 다른 PC에서는 문자열이 다르게 보입니다. Excel 시리얼 변환은 UTC 기준이며 1900년 3월 이전 날짜는 Excel의 1900년 윤년 버그 때문에 맞지 않을 수 있습니다.
보안 주의
로그의 시각을 옮길 때는 원본 값이 UTC인지 로컬 시간인지부터 확인하세요. 로컬 시간 문자열은 시간대 정보 없이 복사되는 경우가 많아, 다른 시간대에서 변환하면 장애 발생 시각이 몇 시간씩 어긋날 수 있습니다.
배경 지식
Unix timestamp는 1970년 1월 1일 00:00:00 UTC부터 흐른 시간을 초 단위 정수로 나타낸 값입니다. 시간대와 무관한 절대 시점이라 서버 간 통신과 로그 저장에 널리 쓰입니다. 같은 숫자라도 초인지 밀리초인지에 따라 날짜가 크게 달라지므로 자릿수로 단위를 구분하는 습관이 필요합니다.
ISO 8601은 2024-01-01T09:00:00+09:00처럼 날짜, 시각, 시간대 오프셋을 함께 적는 국제 표준입니다. RFC 3339는 인터넷 프로토콜에서 쓰도록 ISO 8601의 표기를 좁힌 형식이고, RFC 7231은 HTTP 헤더의 Date 값에 쓰이며 항상 GMT로 적습니다. 형식마다 구분자와 오프셋 표기가 조금씩 달라서 파서가 한 형식을 거부하는 경우가 많습니다.
Excel은 1900년 1월 1일을 1로 두고 하루를 1로 세는 실수로 날짜를 저장합니다. 소수 부분은 시각을 뜻하므로 셀에서 날짜를 복사하면 숫자만 붙여 넣어지는 경우가 생깁니다. 데이터 분석이나 보고서 작업에서 자주 마주치는 형식입니다. 값을 옮길 때는 날짜 셀 서식을 날짜로 바꾼 뒤 변환하면 실수가 줄어듭니다.
자주 묻는 질문
초 단위와 밀리초 단위 timestamp는 어떻게 구분하나요?
보통 10자리 이하이면 초, 13자리이면 밀리초로 봅니다. 이 도구도 10자리 이하 숫자는 Unix timestamp, 13자리 이하 숫자는 Timestamp로 판별합니다. 단위를 잘못 고르면 1700000000을 밀리초로 읽어 1970년 1월 근처 날짜가 나오므로 원본 문서로 단위를 확인하세요.
UTC와 로컬 시간 중 어느 값을 저장해야 하나요?
저장과 전송에는 UTC 또는 시간대 오프셋이 명시된 ISO 8601 값을 권장합니다. 화면에 보여줄 때만 사용자의 시간대로 바꾸면 서버와 클라이언트가 같은 시점을 가리킵니다.
Excel 날짜가 45292처럼 숫자로만 보이는 이유는 무엇인가요?
Excel은 날짜를 1900년 1월 1일 이후의 일수로 저장하므로 셀 서식을 풀면 숫자로 나옵니다. 이 도구는 숫자만 있는 값을 Unix 초로 먼저 해석하므로, Excel 값이라면 오른쪽 선택 상자에서 Excel 형식을 직접 고르세요.