ตัวแปลง Timestamp ของ Unix

เครื่องมือแปลงแบบสองทางระหว่าง timestamp ของ Unix/Linux กับวันที่และเวลา โดยสามารถเปรียบเทียบตามเขตเวลาต่างๆ ได้หลายเขต

เวลาปัจจุบัน

เวลาestampปัจจุบัน (วินาที)
1766507850
เวลาปัจจุบัน
2025-12-23 16:37:30

แปลงเวลาestampเป็นวันที่

ผลลัพธ์การแปลง(อัตโนมัติ)

แปลงวันที่เป็นเวลาestamp

ผลลัพธ์การแปลง(อัตโนมัติ)

เครื่องมือแปลงเวลาestampหลายตัวเป็นวันเวลา

เครื่องมือแปลงเวลาestampหลายตัวเป็นวันเวลา

เครื่องมือแปลงวันเวลาหลายชุดเป็นเวลาestamp

เครื่องมือแปลงวันเวลาหลายชุดเป็นเวลาestamp

คำแนะนำการใช้งาน

เครื่องมือนี้ใช้เพื่อทำการแปลงระหว่างส่วนลับเวลา Unix กับวันเวลาอย่างรวดเร็วในสถานการณ์ต่างๆ รองรับความละเอียดในระดับวินาทีและมิลลิวินาที และสามารถเลือกเขตเวลาเป้าหมายเพื่อแสดงการเปรียบเทียบ มีตัวแปลงแบบบัตรเดี่ยวและหลายบัตร แปลงทันทีเมื่อมีการป้อนข้อมูล และอัพเดทผลลัพธ์อัตโนมัติเมื่อเปลี่ยนเขตเวลา นอกจากนี้ ยังมีช่วงเวลาสมัยใหม่ล่าสุดและช่วงเวลาที่ใช้บ่อย เพื่อตอบสนองความต้องการในการดีบักการพัฒนาและการแปลงเวลาประกอบในชีวิตประจำวัน

การตรวจจับอัตโนมัติ: เครื่องมือนี้จะตรวจจับอัตโนมัติว่าข้อมูลที่ป้อนเป็นส่วนลับเวลาในระดับวินาที (10 หลัก) หรือมิลลิวินาที (13 หลัก)
เขตเวลา: แสดงเวลาท้องถิ่นและเวลา UTC เพื่อความสะดวกในการใช้งานในเขตเวลาต่างๆ

คุณสมบัติของเครื่องมือ

  • แปลงทันทีเมื่อมีการป้อนข้อมูล รองรับการตรวจจับอัตโนมัติส่วนลับเวลาในระดับวินาที/มิลลิวินาที
  • รองรับการเลือกและแสดงเขตเวลาทั่วโลก: มุมมองสามแบบ ได้แก่ ท้องถิ่น, UTC, เขตเวลาที่เลือก
  • หลายบัตรตัวแปลง เพื่อการเปรียบเทียบข้อมูลจำนวนมากได้ง่าย
  • อินเทอร์เฟซแบบตอบสนองและเป็นมิตรกับแป้นพิมพ์ มีความเข้าถึงที่ดี
  • มีช่วงเวลาสมัยใหม่ล่าสุดและช่วงเวลาที่ใช้บ่อย สามารถคัดลอกและใช้ทันที

เวลาestamp คืออะไร?

ส่วนลับเวลา Unix (Unix Timestamp) คือจำนวนวินาทีหรือมิลลิวินาทีที่ผ่านไปตั้งแต่ 00:00:00 UTC ของวันที่ 1 มกราคม 1970 (Unix Epoch)

ส่วนลับเวลาเป็นตัวเลขที่ใช้แสดงเวลา โดยปกติจะใช้หน่วยวินาทีหรือมิลลิวินาที

จุดเริ่มต้นของส่วนลับเวลา คือ 00:00:00 UTC ของวันที่ 1 มกราคม 1970 ซึ่งเวลานี้เรียกว่า Unix Epoch

ส่วนลับเวลาเริ่มใช้งานในระบบปฏิบัติการ Unix ดังนั้นจึงมักเรียกว่าส่วนลับเวลา Unix

ส่วนลับเวลาใช้กันอย่างแพร่หลายในการเขียนโปรแกรมและการสื่อสารทางเครือข่าย โดยเฉพาะอย่างยิ่งในการพัฒนาเว็บ

ความละเอียดที่พบบ่อย: วินาที (เช่น 1735689600) และ มิลลิวินาที (เช่น 1735689600000) ในการแสดงวันเวลาที่เกี่ยวข้องกับเขตเวลา จะต้องใช้การจัดรูปแบบตามเขตเวลา

เวลาestampล่าสุด (ตามเขตเวลาทั่วโลก)

เวลาestampที่ใช้บ่อย (ระยะเวลา)

1 นาที
60 วินาที
1 ชั่วโมง
3600 วินาที
1 วัน
86400 วินาที
1 สัปดาห์
604800 วินาที
1 เดือน (ตาม 30 วัน)
2592000 วินาที
1 ปี (ตาม 365 วัน)
31536000 วินาที

ปัญหา 2038 ของเวลาestamp

ปัญหา 2038 คือปัญหาที่เกิดจากการเก็บเวลา Unix timestamp (ในหน่วยวินาที ตั้งแต่ 1970-01-01 00:00:00 UTC) ในตัวแปรจำนวนเต็ม 32 บิต ที่มีเครื่องหมาย จะเกิดการ overflow หลังจากวันที่ 2038-01-19 03:14:07

เนื่องจากช่วงของจำนวนเต็ม 32 บิตที่มีเครื่องหมายอยู่ระหว่าง -2,147,483,648 ถึง 2,147,483,647 และเวลา 2038-01-19 03:14:07 UTC มี timestamp เท่ากับ 2,147,483,647 ดังนั้นหลังจากจุดเวลานี้ ตัวแปรจำนวนเต็ม 32 บิตที่มีเครื่องหมายจะไม่สามารถแสดง timestamp ต่อไปได้

ส่วนใหญ่ระบบเก่า หรือซอฟต์แวร์ที่ใช้ time_t 32 บิตจะได้รับผลกระทบ ระบบสมัยใหม่โดยทั่วไปใช้ 64 บิต (เช่นจำนวนเต็ม 64 บิตในหน่วยมิลลิวินาที) จึงไม่มีปัญหานี้

แนะนำให้ใช้ timestamp 64 บิต หรือใช้ไลบรารีเวลาที่รองรับช่วงวันที่ที่กว้างขวาง

วิธีรับ/แปลงเวลาestampผ่านภาษาโปรแกรม

JavaScript
รับเวลาestampปัจจุบัน
Math.floor(Date.now() / 1000); // seconds
Date.now(); // milliseconds
เวลาestamp → วันที่
new Date(1735689600 * 1000).toISOString();
วันที่ → เวลาestamp
new Date('2025-01-01T00:00:00Z').getTime();
PHP
รับเวลาestampปัจจุบัน
time();                // seconds
intval(microtime(true) * 1000); // milliseconds
เวลาestamp → วันที่
date('Y-m-d H:i:s', 1735689600);
วันที่ → เวลาestamp
strtotime('2025-01-01 00:00:00');
Python
รับเวลาestampปัจจุบัน
import time

int(time.time())        # seconds
int(time.time() * 1000) # milliseconds
เวลาestamp → วันที่
import datetime

datetime.datetime.utcfromtimestamp(1735689600).isoformat()
วันที่ → เวลาestamp
import datetime

int(datetime.datetime(2025,1,1,0,0,0,tzinfo=datetime.timezone.utc).timestamp())
Go
รับเวลาestampปัจจุบัน
import "time"

time.Now().Unix()      // seconds
time.Now().UnixMilli() // milliseconds
เวลาestamp → วันที่
import "time"

time.Unix(1735689600, 0).UTC().Format(time.RFC3339)
วันที่ → เวลาestamp
import "time"

ts := time.Date(2025,1,1,0,0,0,0,time.UTC).Unix()
Rust
รับเวลาestampปัจจุบัน
use chrono::Utc;

let now = Utc::now();
let sec = now.timestamp();        // seconds i64
let ms  = now.timestamp_millis(); // milliseconds i128
เวลาestamp → วันที่
use chrono::{DateTime, NaiveDateTime, Utc};

let dt: DateTime = NaiveDateTime::from_timestamp_opt(1735689600, 0)
    .unwrap()
    .and_utc();
let iso = dt.to_rfc3339();
วันที่ → เวลาestamp
use chrono::DateTime;

let ts = DateTime::parse_from_rfc3339("2025-01-01T00:00:00Z")
    .unwrap()
    .timestamp();
SQL
รับเวลาestampปัจจุบัน
-- MySQL / MariaDB
SELECT UNIX_TIMESTAMP();

-- PostgreSQL
SELECT EXTRACT(EPOCH FROM NOW())::bigint;

-- SQLite
SELECT strftime('%s', 'now');
เวลาestamp → วันที่
-- MySQL / MariaDB
SELECT FROM_UNIXTIME(1735689600);

-- PostgreSQL
SELECT to_timestamp(1735689600) AT TIME ZONE 'UTC';

-- SQLite
SELECT datetime(1735689600, 'unixepoch');
วันที่ → เวลาestamp
-- 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');