Unix காலமுத்திரை முதல் தேதி மாற்றி
Unix காலமுத்திரையை வாசிக்கக் கூடிய தேதி மற்றும் நேரமாக மாற்றுங்கள் — அல்லது எந்த தேதியையும் மீண்டும் Unix காலமுத்திரையாக மாற்றுங்கள். விநாடிகள் மற்றும் மில்லிவிநாடிகளை ஆதரிக்கிறது.
இந்த கருவியைப் பகிரவும்
உங்கள் தளத்தில் உட்பொதிக்கவும்
தொடர்புடைய கருவிகள்
Unix timestamp என்றால் என்ன?
Unix timestamp, Unix time அல்லது POSIX time என்றும் அழைக்கப்படும் இது, 1970-01-01 00:00:00 UTC முதல் கடந்து செல்லும் விநாடிகளின் எண்ணிக்கை. இதை Unix epoch என்று கூறுவர். இது கணினிகளில் பரவலாகப் பயன்படும் வழிமுறை ஆகும். ஒரு நிறுத்தல் மதிப்பை ஒரே ஒரு முழு எண்ணாக வெளிப்படுத்துவதால், சேமிப்பு, ஒப்பீடு, மற்றும் கணக்கீடுகள் எளிமையாக நிறைவேற்றப்படுகின்றன.
JavaScript உள் மட்டத்தில் மில்லிவிநாடிகளை பயன்படுத்துகிறது. இதால் Date.now() Unix timestamp ஐ 1000 ஆல் பெருக்கிய மதிப்பைத் திருப்பி அளிக்கிறது. பல APIs, தரவுதளங்கள் மற்றும் backend அமைப்புகள் விநாடிகளையே பயன்படுத்துகின்றன. இந்த கருவி இரு வடிவங்களையும் ஏற்றுக்கொள்ளும். நீங்கள் உள்ளிடும் எண்ணின் அளவு அடிப்படையில் விநாடிகளா அல்லது மில்லிவிநாடிகளா என்பதை தானாக கண்டறிகிறது.
குறிப்பிடத்தக்க Unix timestamps
| Timestamp | Date (UTC) | குறிப்பு |
|---|---|---|
0 | 1970-01-01 00:00:00 | Unix epoch |
1,000,000,000 | 2001-09-09 01:46:40 | 1 பில்லியன் விநாடிகள் |
2,000,000,000 | 2033-05-18 03:33:20 | 2 பில்லியன் விநாடிகள் |
2,147,483,647 | 2038-01-19 03:14:07 | Year 2038 பிரச்சனை (32-bit அதிகபட்சம்) |
ஏன் 1970?
January 1, 1970 ஐ Unix epoch ஆகத் தேர்வு செய்தது பாரம்பரியத்தாலும், நடைமுறை கட்டுப்பாடுகளாலும். Unix 1960களின் பிற்பகுதி மற்றும் 1970களின் ஆரம்பகালத்தில் Bell Labs இல் உருவாக்கப்பட்டது. உருவாக்குநர்கள் தாங்கள் கால பிரதிநிதிப்புக்கு சமீபத்திய, வட்ட வடிவ ஆரம்ப தேதியைத் தேவை உணர்ந்தனர். January 1, 1970 சமீபத்தையாகவும் நடைமுறையானதாகவும் இருந்தது. இதற்கு எந்த சிறப்பான தொழில்நுட்ப முக்கியத்துவமும் இல்லை — இது வெறுமே ஒரு வசதியான ஒதுக்கு புள்ளி.
மற்ற அமைப்புகளில் மாற்று epoch தேதிகள் இருக்கின்றன: Windows FILETIME epoch January 1, 1601; GPS time January 6, 1980 இல் தொடங்கியது; NTP epoch January 1, 1900. அமைப்புகளுக்கு இடையே மாற்றம் செய்யும்போது, ஒவ்வொரு அமைப்பின் epoch தெரிந்திருப்பது அপরிহார்யம்.
விநாடிகள் vs மில்லிவிநாடிகள்
அசல் Unix timestamp விநாடிகளில் உள்ளது. பெரும்பாலான சேவையக பக்க மொழிகள் மற்றும் அமைப்புகள் (Unix shell, Python இன் time.time(), PHP இன் time(), பெரும்பாலான தரவுதளங்கள்) விநாடிகளைப் பயன்படுத்துகின்றன. JavaScript இன் Date.now() மற்றும் new Date().getTime() மில்லிவிநாடிகளைத் திருப்பி அளிக்கிறது. இந்த பொருத்தமின்மை JavaScript முன்பகுதி சேவையக APIs உடன் தொடர்புகொள்ளும்போது பொதுவான பிழாக்களின் மூல காரணம்.
இப்போது Unix timestamp விநாடிகளில் 10 இலக்க எண் ஆகும் (2023 இல் சுமார் 1,700,000,000). மில்லிவிநாடி timestamp 13 இலக்க எண். கணிப்பி நீங்கள் உள்ளிட்ட இலக்கங்களின் எண்ணிக்கையை அடிப்படையாகக் கொண்டு எந்த வடிவம் என்பதை கண்டறிந்து, அதன்படி மாற்றுகிறது.
Year 2038 பிரச்சனை
Unix timestamps ஐ signed 32-bit integer ஆக சேமிக்கும் அமைப்புகள் epoch க்குப் பிறகு 2,147,483,647 விநாடி வரை மட்டுமே தேதிகளை பிரதிநிதிப்படுத்த முடியும் — இது January 19, 2038 இல் 03:14:07 UTC. அந்த தருணத்திற்குப் பிறகு, 32-bit signed integer நெகடிவ் எண்ணாக overflow ஆகிறது. இது 1901 இல் ஒரு தேதியைப் பிரதிநிதிப்படுத்துகிறது.
இதை சில சமயம் "Y2K38" பிரச்சனை அல்லது Unix Millennium Bug என்று அழைக்கிறார்கள். நவீன 64-bit அமைப்புகள் பாதிக்கப்படுவதில்லை. signed 64-bit integer சுமார் 292 பில்லியன் ஆண்டுகளுக்கு timestamps ஐ பிரதிநிதிப்படுத்த முடியும். எனினும், உட்பொதிக்கப்பட்ட அமைப்புகள், பழைய தரவுதளங்கள் மற்றும் பழைய 32-bit மென்பொருள் இன்னும் பாதிக்கப்படலாம். தொலைத்தொடர்பு, வங்கியியல் மற்றும் தொழிற்சாலை கட்டுப்பாட்டு அமைப்புகள் உட்பட பல தொழிற்துறைகள் இதை சமாளிக்க நடமாடும் மாற்றத் திட்டங்களை நடத்திக்கொண்டு உள்ளன.
இப்போதைய Unix timestamp ஐ எவ்வாறு பெறுவது
| மொழி / சூழல் | கட்டளை |
|---|---|
| JavaScript | Math.floor(Date.now() / 1000) |
| Python | import time; int(time.time()) |
| PHP | time() |
| Bash | date +%s |
| SQL (PostgreSQL) | EXTRACT(EPOCH FROM NOW())::int |
| SQL (MySQL) | UNIX_TIMESTAMP() |
| Go | time.Now().Unix() |
| Rust | SystemTime::now().duration_since(UNIX_EPOCH).unwrap().as_secs() |
நடைமுறை பயன்பாடுகள்
API உருவாக்கம்: REST APIs பொதுவாக created_at, updated_at, மற்றும் token expiry புலங்களுக்கு Unix timestamps ஐ பயன்படுத்துகிறது. Timestamp நேர மண்டலம் நடுநிरपक্ষமாக உள்ளது மற்றும் தெளிவாக உள்ளது — வடிவமைக்கப்பட்ட தேதி சரங்களைப் போல் அல்ல. அவை locale மற்றும் வடிவமைப்பு மரபுகளைச் சார்ந்துள்ளன.
Token expiry: JWT (JSON Web Tokens) exp (expiry) மற்றும் iat (issued at) claims க்குப் பயன்படுத்தும் Unix timestamps ஐப் பயன்படுத்துகிறது. தற்போதைய timestamp exp மதிப்பை மீறும்போது ஒரு token வெறுப்பாகிறது. Expiry மயங்கள் கணக்கிடுவது — "இந்த token 24 மணி நேரத்தில் வெறுப்படைய வேண்டும்" — தற்போதைய timestampக்கு 86,400 விநாடிகளைச் சேர்க்கிறது.
Cache TTL: Cache expiry பொதுவாக Unix timestamp ஆக அல்லது இப்போதிலிருந்து விநாடிகளின் எண்ணிக்கையாக அமைக்கப்படுகிறது. Cache சிக்கல்களை debug செய்வது பொதுவாக சேமிக்கப்பட்ட expiry timestamp ஐ மனிதனால் படிக்கக் கூடிய தேதிக்கு மாற்றுவதை கோருகிறது.
Log analysis: சேவையக பதிவுகள் பொதுவாக Unix timestamps ஐ உள்கொண்டுள்ளன. அவற்றை படிக்கக் கூடிய தேதிகளாக மாற்றுவது log entries ஐ உண்மையான நிகழ்வுகளுடன் தொடர்பு செய்வதற்கான முதல் படியாகும்.
தரவுதள சேமிப்பு: Timestamps ஐ வடிவமைக்கப்பட்ட சரங்களுக்கு பதிலாக integers ஆக சேமிப்பது நேர மண்டல மாற்றம் பிழாக்களை தவிர்கிறது மற்றும் வரிசைப்படுத்தல், পல்லவி வினவல்கள் மற்றும் கணக்கீடுகளை எளிமையாக்குகிறது. "கடந்த 7 நாட்களில் இருந்து அனைத்து records" என்ற வினவல் WHERE created_at > (NOW_UNIX - 604800) ஆனது.
