Unix 타임스탬프 변환기
Unix/Linux 타임스탬프와 날짜/시간 간의 양방향 변환 도구로, 여러 시간대를 기반으로 비교할 수 있습니다.
현재 시간
타임스탬프 → 날짜
변환 결과(자동)
날짜 → 타임스탬프
변환 결과(자동)
다중 타임스탬프 날짜 시간 변환기
다중 타임스탬프 날짜 시간 변환기
다중 날짜 타임스탬프 변환기
다중 날짜 타임스탬프 변환기
사용 설명
이 도구는 다양한 시나리오에서 Unix 타임스탬프와 날짜 시간 간의 양방향 변환을 빠르게 수행할 수 있도록 지원합니다. 초와 밀리초 단위의 정확도를 지원하며, 목표 시간대를 선택하여 비교 표시할 수 있습니다. 단일 카드와 다중 카드 변환기가 제공되며, 입력 시 즉시 변환되며 시간대를 전환하면 결과가 자동으로 새로고침됩니다. 또한 최근 시간 범위와 자주 사용하는 시간 간격이 내장되어 개발 디버깅과 일상적인 환산 요구 사항을 충족합니다.
도구 기능 특징
- 입력 시 즉시 변환, 초/밀리초 타임스탬프 자동 감지 지원
- 전역 시간대 선택 및 표시 지원: 로컬, UTC, 선택한 시간대의 세 가지 뷰
- 다중 변환기 카드, 대량 비교에 편리
- 반응형 인터페이스와 키보드 친화적, 우수한 접근성
- 최근 시간 범위와 자주 사용하는 시간 간격 내장, 복사하여 바로 사용 가능
타임스탬프란 무엇입니까?
Unix 타임스탬프(Unix Timestamp)는 1970-01-01 00:00:00 UTC(Unix Epoch) 이후 경과된 총 초 수 또는 밀리초 수입니다.
타임스탬프는 시간을 나타내는 숫자이며, 일반적으로 초 또는 밀리초 단위로 표현됩니다.
타임스탬프의 시작점은 1970년 1월 1일 00:00:00 UTC이며, 이 시간을 Unix 에포크라고 합니다.
타임스탬프는 처음에 Unix 운영 체제에서 사용되었기 때문에 종종 Unix 타임스탬프라고 불립니다.
타임스탬프는 프로그래밍과 네트워크 통신, 특히 웹 개발에서 널리 사용됩니다.
일반적인 정확도: 초(예: 1735689600)와 밀리초(예: 1735689600000). 시간대와 관련된 날짜 시간을 표시할 때는 시간대를 함께 사용하여 형식화하여 표시해야 합니다.
자주 사용하는 타임스탬프 (기간)
타임스탬프의 2038 문제
2038 문제는 32비트 부호 있는 정수로 Unix 타임스탬프(1970-01-01 00:00:00 UTC부터 초 단위로 계산)를 저장할 때 2038-01-19 03:14:07 이후에 오버플로우가 발생하는 문제를 말합니다.
32비트 부호 있는 정수의 범위는 -2,147,483,648에서 2,147,483,647이며, 2038-01-19 03:14:07 UTC의 타임스탬프는 2,147,483,647입니다. 따라서 해당 시간을 넘어가면 32비트 부호 있는 정수로는 이후의 타임스탬프를 나타낼 수 없습니다.
주로 32비트 time_t를 사용하는 구식 시스템이나 소프트웨어가 이 문제에 영향을 받습니다. 현대 시스템은 일반적으로 64비트(예: 밀리초 단위의 64비트 정수)를 사용하므로 이 문제가 발생하지 않습니다.
64비트 타임스탬프를 사용하거나 큰 날짜 범위를 지원하는 시간 라이브러리를 사용하는 것이 좋습니다.
프로그래밍 언어로 타임스탬프를 어떻게 가져오고 변환할까?
Math.floor(Date.now() / 1000); // seconds
Date.now(); // milliseconds
new Date(1735689600 * 1000).toISOString();
new Date('2025-01-01T00:00:00Z').getTime();
time(); // seconds
intval(microtime(true) * 1000); // milliseconds
date('Y-m-d H:i:s', 1735689600);
strtotime('2025-01-01 00:00:00');
import time
int(time.time()) # seconds
int(time.time() * 1000) # milliseconds
import datetime
datetime.datetime.utcfromtimestamp(1735689600).isoformat()
import datetime
int(datetime.datetime(2025,1,1,0,0,0,tzinfo=datetime.timezone.utc).timestamp())
import "time"
time.Now().Unix() // seconds
time.Now().UnixMilli() // milliseconds
import "time"
time.Unix(1735689600, 0).UTC().Format(time.RFC3339)
import "time"
ts := time.Date(2025,1,1,0,0,0,0,time.UTC).Unix()
use chrono::Utc;
let now = Utc::now();
let sec = now.timestamp(); // seconds i64
let ms = now.timestamp_millis(); // milliseconds i128
use chrono::{DateTime, NaiveDateTime, Utc};
let dt: DateTime = NaiveDateTime::from_timestamp_opt(1735689600, 0)
.unwrap()
.and_utc();
let iso = dt.to_rfc3339();
use chrono::DateTime;
let ts = DateTime::parse_from_rfc3339("2025-01-01T00:00:00Z")
.unwrap()
.timestamp();
-- MySQL / MariaDB
SELECT UNIX_TIMESTAMP();
-- PostgreSQL
SELECT EXTRACT(EPOCH FROM NOW())::bigint;
-- SQLite
SELECT strftime('%s', 'now');
-- MySQL / MariaDB
SELECT FROM_UNIXTIME(1735689600);
-- PostgreSQL
SELECT to_timestamp(1735689600) AT TIME ZONE 'UTC';
-- SQLite
SELECT datetime(1735689600, 'unixepoch');
-- MySQL / MariaDB
SELECT UNIX_TIMESTAMP('2025-01-01 00:00:00');
-- PostgreSQL
SELECT EXTRACT(EPOCH FROM TIMESTAMP '2025-01-01 00:00:00+00')::bigint;
-- SQLite
SELECT strftime('%s', '2025-01-01 00:00:00');