เครื่องมือแปลงยูนิกซ์ไทม์สแตมป์

เครื่องมือแปลงยูนิกซ์ไทม์สแตมป์ระดับมืออาชีพ รองรับการแปลงสองทางระหว่างไทม์สแตมป์กับวันที่และเวลา โดยจะจดจำชนิดของไทม์สแตมป์อัตโนมัติตามจำนวนหลัก ได้แก่ วินาที (9-10 หลัก) มิลลิวินาที (13 หลัก) ไมโครวินาที (16 หลัก) และนาโนวินาที (19 หลัก) มีมุมมอง 3 แบบ ได้แก่ เวลาท้องถิ่น เวลา UTC และเวลาเขตเวลาที่เลือก รองรับการ์ดแปลงหลายรายการเพื่อเปรียบเทียบเป็นชุด และมีช่วงเวลาล่าสุดและช่วงเวลาทั่วไปในตัว สำหรับการดีบักในการพัฒนาและการแปลงประจำวัน อินเทอร์เฟซรองรับการตอบสนองทุกขนาดหน้าจอ การแปลงทันทีเมื่อป้อนข้อมูล และการรีเฟรชผลลัพธ์อัตโนมัติเมื่อสลับเขตเวลา การทำงานทั้งหมดจะดำเนินการในเบราว์เซอร์ของคุณเท่านั้น จึงมั่นใจในความเป็นส่วนตัวและความปลอดภัย

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

ไทม์สแตมป์ปัจจุบัน (วินาที)
—
เวลาปัจจุบัน
—

ไทม์สแตมป์เป็นวันที่

รองรับไทม์สแตมป์แบบวินาที มิลลิวินาที ไมโครวินาที และนาโนวินาที โดยจะจดจำอัตโนมัติจากจำนวนหลัก (วินาที: 9-10 หลัก, มิลลิวินาที: 13 หลัก, ไมโครวินาที: 16 หลัก, นาโนวินาที: 19 หลัก)

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

วันที่เป็นไทม์สแตมป์

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

เครื่องมือแปลงวันที่เวลาสำหรับไทม์สแตมป์หลายรายการ

เครื่องมือแปลงวันที่เวลาสำหรับไทม์สแตมป์หลายรายการ

เครื่องมือแปลงไทม์สแตมป์สำหรับวันที่หลายรายการ

เครื่องมือแปลงไทม์สแตมป์สำหรับวันที่หลายรายการ

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

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

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

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

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

ไทม์สแตมป์คืออะไร?

Unix timestamp คือจำนวนวินาทีหรือมิลลิวินาทีทั้งหมดที่ผ่านไปตั้งแต่ 1970-01-01 00:00:00 UTC (Unix Epoch)

Timestamp คือตัวเลขที่แสดงถึงเวลา โดยปกติจะอยู่ในรูปแบบวินาทีหรือมิลลิวินาที

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

Timestamp ถูกใช้ครั้งแรกในระบบปฏิบัติการ Unix จึงมักถูกเรียกว่า Unix timestamp

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

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

ไทม์สแตมป์ล่าสุด (อ้างอิงจากเขตเวลาสากล)

ไทม์สแตมป์ทั่วไป (ช่วงเวลา)

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

ปัญหาไทม์สแตมป์ปี 2038

ปัญหา Year 2038 หมายถึงปัญหาที่ 32-bit signed integer ที่ใช้เก็บ Unix timestamp (ในรูปแบบวินาทีตั้งแต่ 00:00:00 UTC ของวันที่ 1 มกราคม 1970) จะเกิด overflow หลังจากวันที่ 19 มกราคม 2038 เวลา 03:14:07 UTC

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

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

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

วิธีรับ/แปลงไทม์สแตมป์ผ่านภาษาโปรแกรม

JavaScript
รับไทม์สแตมป์ปัจจุบัน
Math.floor(Date.now() / 1000); // seconds
Date.now(); // milliseconds
ไทม์สแตมป์ → วันที่
new Date(1735689600 * 1000).toISOString();
วันที่ → ไทม์สแตมป์
new Date('2025-01-01T00:00:00Z').getTime();
PHP
รับไทม์สแตมป์ปัจจุบัน
time();                // seconds
intval(microtime(true) * 1000); // milliseconds
ไทม์สแตมป์ → วันที่
date('Y-m-d H:i:s', 1735689600);
วันที่ → ไทม์สแตมป์
strtotime('2025-01-01 00:00:00');
Python
รับไทม์สแตมป์ปัจจุบัน
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())
Go
รับไทม์สแตมป์ปัจจุบัน
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()
Rust
รับไทม์สแตมป์ปัจจุบัน
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();
SQL
รับไทม์สแตมป์ปัจจุบัน
-- 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');