Unix টাইমস্ট্যাম্পকে তারিখে এবং তারিখকে টাইমস্ট্যাম্পে রূপান্তর করা
প্রকাশিত: · হালনাগাদ: 2 মিনিটের পাঠ
Unix টাইমস্ট্যাম্প গোনে 1 জানুয়ারি 1970 মধ্যরাতের সার্বজনীন সময় থেকে কত সময় পেরিয়েছে। দুটি প্রশ্ন ফলাফলের তারিখ ঠিক করে: সংখ্যাটির একক কী, আর ফলাফল কোন সময় অঞ্চলে পড়ছেন।
একটি রেফারেন্স মান
Unix টাইমস্ট্যাম্প রূপান্তর করুন একই মুহূর্তের তিনটি পাঠ দেয়। 1700000000-এর জন্য, ব্রাউজার প্যারিসের সময়ে সেট থাকলে:
| পাঠ | ফলাফল |
|---|---|
| UTC তারিখ | Tue, 14 Nov 2023 22:13:20 GMT |
| স্থানীয় তারিখ | 14 নভেম্বর 2023, 23:13:20 UTC+1 |
| ISO | 2023-11-14T22:13:20.000Z |
স্থানীয় সময় ব্রাউজারের সময় অঞ্চল মেনে চলে: শীতকালে প্যারিসে এক ঘণ্টা বেশি। একই টাইমস্ট্যাম্প একটিই মুহূর্ত, যা দুটি সময় অঞ্চলে পড়া হয়েছে।
অঙ্কের সংখ্যা থেকে একক চেনা হয়
ডিফল্ট সেটিং সংখ্যার দৈর্ঘ্য দেখে একক চিনে নেয়। নিচের তিনটি মান নির্ভুলতার সীমা পর্যন্ত একই মুহূর্ত বোঝায়।
| সংখ্যা | অঙ্ক | চেনা একক | প্রাপ্ত মুহূর্ত |
|---|---|---|---|
| 1700000000 | 10 | সেকেন্ড | 14 নভেম্বর 2023, 22:13:20 UTC |
| 1700000000000 | 13 | মিলিসেকেন্ড | 14 নভেম্বর 2023, 22:13:20 UTC |
| 1700000000123456 | 16 | মাইক্রোসেকেন্ড | 14 নভেম্বর 2023, 22:13:20.123 UTC |
নিয়মটি: 11 অঙ্ক পর্যন্ত সেকেন্ড, 12 থেকে 14 অঙ্কে মিলিসেকেন্ড, 15 ও 16 অঙ্কে মাইক্রোসেকেন্ড। “মিলিসেকেন্ড” সেটিং ওই এককটি জোর করে বসায়।
নিয়মের ফাঁদ
যেহেতু একক দৈর্ঘ্য থেকে অনুমান করা হয়, দ্ব্যর্থক মান একভাবেই পড়া হয়: 10000000000 (11 অঙ্ক) দেয় 20 নভেম্বর 2286, আর 100000000000 (12 অঙ্ক) দেয় 3 মার্চ 1973। মার্চ 1973-এর আগের মিলিসেকেন্ড টাইমস্ট্যাম্পে 11 বা তার কম অঙ্ক থাকে এবং তা সেকেন্ড হিসেবে পড়া হবে: তখন “মিলিসেকেন্ড” সেটিংটি জোর করে বসান।
1970-এর আগের মান ও 2038-এর সীমা
ঋণাত্মক সংখ্যা 1970-এর আগের মুহূর্ত বোঝায়: -1 দেয় 31 ডিসেম্বর 1969, 23:59:59 UTC, আর 0 দেয় 1 জানুয়ারি 1970 মধ্যরাত।
2147483647 সংখ্যাটি চিহ্নযুক্ত 32-বিট পূর্ণসংখ্যার সবচেয়ে বড় মান: এটি দেয় 19 জানুয়ারি 2038, 03:14:07 UTC। পরের সংখ্যা 2147483648 দেয় 03:14:08: টুলটি সীমাহীনভাবে চলতে থাকে, কিন্তু যে সিস্টেম সময় 32 বিটে রাখে তা পারে না।
তারিখকে টাইমস্ট্যাম্পে রূপান্তর করুন
সংখ্যার বদলে একটি তারিখ দিন: টুলটি সেকেন্ডে ও মিলিসেকেন্ডে টাইমস্ট্যাম্প দেয়।
| ইনপুট | সেকেন্ডে টাইমস্ট্যাম্প | পাঠ |
|---|---|---|
| 2026-01-01 | 1767225600 | সার্বজনীন সময়ে মধ্যরাত, কোনো সময় অঞ্চল দেওয়া হয়নি |
| 2026-01-01T10:30:00+01:00 | 1767259800 | প্যারিসে 10:30, অর্থাৎ সার্বজনীন সময়ে 09:30 |
| 2024-02-29 | 1709164800 | অধিবর্ষ গ্রহণ করা হয়েছে |
সময় অঞ্চল ছাড়া তারিখ সার্বজনীন সময়ে পড়া হয়, স্থানীয় সময়ে নয়: টুলটি ফলাফলে তা জানিয়ে দেয়। 30 ফেব্রুয়ারি 2026-এর মতো যে তারিখ নেই তা বার্তাসহ প্রত্যাখ্যান করা হয়।
সাধারণ ভুল
- মিলিসেকেন্ডকে সেকেন্ড হিসেবে পড়া: তারিখ হাজার হাজার বছর দূরে গিয়ে পড়ে।
- সময় অঞ্চল ভুলে যাওয়া: স্থানীয় হিসেবে পড়া তারিখ সার্বজনীন হিসেবে পাঠালে এক বা একাধিক ঘণ্টা সরে যায়।
- স্থানীয় সময়ের কথা ভেবে সময় অঞ্চল ছাড়া তারিখ লেখা, অথচ সেটি UTC-তে পড়া হবে।
দুটি তারিখের মধ্যে দিন গুনতে দুটি তারিখের মধ্যে দিন গণনা করা দেখুন।
রূপান্তর যাচাই করুন
- UTC লাইনটি আবার পড়ুন, যা ডিভাইসের ওপর নির্ভর করে না।
- ফলাফলের প্রথম লাইনে জানানো এককটি দেখে নিন।
- পাওয়া তারিখটি আবার রূপান্তর করুন: শুরুর সংখ্যাটিই ফিরে আসা উচিত।
