একটি JWT-র exp / iat ক্লেইম পড়া
JSON Web Token iat (issued at) এবং exp (expires at) Unix সেকেন্ড হিসেবে এনকোড করে। সংখ্যাটি পেস্ট করে তাৎক্ষণিকভাবে দেখুন টোকেনটি এখনও বৈধ কিনা, কখন ইস্যু হয়েছে এবং মেয়াদ শেষ হতে কত বাকি।
যেকোনো Unix টাইমস্ট্যাম্প (সেকেন্ড বা মিলিসেকেন্ড) তাৎক্ষণিকভাবে মানুষের পঠনযোগ্য তারিখে — অথবা যেকোনো তারিখকে epoch-এ — রূপান্তর করুন। ISO 8601, RFC 2822, UTC, লোকাল টাইম এবং ১০টিরও বেশি টাইমজোন এক ভিউতে।
Unix টাইমস্ট্যাম্প (যা "Unix টাইম" বা "epoch টাইম" নামেও পরিচিত) হলো বৃহস্পতিবার, ১ জানুয়ারি ১৯৭০-এর 00:00:00 UTC থেকে অতিবাহিত সেকেন্ডের সংখ্যা, লিপ সেকেন্ড উপেক্ষা করে। এটি ডেটাবেস, লগ ফাইল, API এবং কুকিতে ব্যবহৃত সর্বজনীন সময় ফরম্যাট। ১০-সংখ্যার মান সেকেন্ড (২২৮৬ সালে ১১ সংখ্যা হবে); ১৩-সংখ্যার মান মিলিসেকেন্ড।
অধিকাংশ Unix টুলিং (curl, date, syslog, JWT-র exp/iat ক্লেইম) সেকেন্ড ব্যবহার করে। JavaScript-এর Date.now মিলিসেকেন্ড রিটার্ন করে। Java, Kotlin এবং অনেক ওয়েব API মিলিসেকেন্ড ব্যবহার করে। আজকের দিনে আপনার সংখ্যা প্রায় ১০ সংখ্যার হলে সেটি সেকেন্ড। ১৩ সংখ্যার হলে মিলিসেকেন্ড। iKit সংখ্যা গুনে স্বয়ংক্রিয়ভাবে শনাক্ত করে, তবে আপনি রেডিও বাটন দিয়ে ইউনিট জোর করে নির্ধারণ করতে পারেন।
—
সেকেন্ড
—
মিলিসেকেন্ড
ব্রাউজার পিকারটিকে আপনার লোকাল টাইমজোন হিসেবে ব্যাখ্যা করে — অন্য জোন থেকে রূপান্তর করতে আপনার OS-এর টাইমজোন পরিবর্তন করুন।
Date.parse যা বুঝতে পারে এমন যেকোনো কিছু: "2024-01-15 10:30 UTC", "Jan 15, 2024", "2024-01-15T10:30:00+09:00"।
লগ, API এবং ডেটাবেস টাইমস্ট্যাম্প ডিবাগ করা ডেভেলপারদের জন্য তৈরি — কোনো সাইনআপ নেই, কোনো আপলোড নেই, আপনার এবং আপনার ডেটার মাঝে কোনো তৃতীয় পক্ষ নেই।
বর্তমান Unix টাইম পেজের শীর্ষে প্রতি সেকেন্ডে সেকেন্ড ও মিলিসেকেন্ড উভয় ফরম্যাটে আপডেট হয়। যেকোনো ফরম্যাটের জন্য এক ক্লিকে কপি।
যেকোনো পূর্ণসংখ্যা পেস্ট করুন — ১০ সংখ্যা সেকেন্ড, ১৩ সংখ্যা মিলিসেকেন্ড, ১৬ সংখ্যা মাইক্রোসেকেন্ড হিসেবে গণ্য হয়। প্রয়োজনে ইউনিট টগল দিয়ে ম্যানুয়ালি ওভাররাইড করুন।
ISO 8601, RFC 2822, UTC ঘড়ি, আপনার লোকাল টাইম এবং Y-M-D H:M:S — এক ভিউতে। সাথে সপ্তাহের দিন এবং মানুষের পঠনযোগ্য আপেক্ষিক অফসেট ("২ ঘণ্টা আগে")।
একই মুহূর্ত দেখুন UTC, নিউ ইয়র্ক, LA, লন্ডন, প্যারিস, টোকিও, সাংহাই, তাইপেই, কলকাতা এবং সিডনিতে — ক্রস-টিম ইনসিডেন্ট ও গ্লোবাল API-র জন্য উপযোগী।
তারিখ → টাইমস্ট্যাম্প মোডে গিয়ে "Jan 15 2024 10:30 UTC" টাইপ করুন বা ডেট-টাইম ইনপুট থেকে বাছুন, সেকেন্ড ও মিলিসেকেন্ডে Unix টাইমস্ট্যাম্প পান।
সব কিছু আপনার ব্রাউজার ট্যাবে আগে থেকে লোড হওয়া JavaScript হিসেবে চলে। DevTools → Network-এ যাচাইযোগ্য: কোনো fetch নেই, কোনো XHR নেই, কোনো লগিং নেই। প্রোডাকশন টাইমস্ট্যাম্পের জন্য নিরাপদ।
Unix টাইমস্ট্যাম্প শুধুই একটি পূর্ণসংখ্যা — কিন্তু সেটিকে তারিখে রূপান্তরে আশ্চর্যজনকভাবে অনেক বিস্তারিত জড়িত।
উৎস অনুযায়ী Unix টাইমস্ট্যাম্প সেকেন্ড, মিলিসেকেন্ড, মাইক্রোসেকেন্ড বা ন্যানোসেকেন্ডে হতে পারে। প্রথম কাজ হলো জানা আপনার কাছে কোনটি আছে। iKit সংখ্যা গুনে দেখে: ~১০ সংখ্যা = সেকেন্ড, ~১৩ = ms, ~১৬ = µs। ইউনিট রেডিও বাটন দিয়ে স্বয়ংক্রিয় শনাক্তকরণ ওভাররাইড করতে পারেন।
JavaScript-এর Date কনস্ট্রাক্টর মিলিসেকেন্ড নেয়, তাই আমরা সেকেন্ডকে × ১০০০ গুণ করি (অথবা মাইক্রোসেকেন্ডকে / ১০০০ ভাগ করি) নর্মালাইজ করতে। অভ্যন্তরীণভাবে Date epoch থেকে মিলিসেকেন্ডকে ৬৪-বিট float-এ সংরক্ষণ করে — যেকোনো বাস্তবিক টাইমস্ট্যাম্পের জন্য যথেষ্ট পরিসর।
একটি Date অবজেক্ট পেলে আমরা সেটিকে কয়েকভাবে ফরম্যাট করতে বলি: ISO 8601 / UTC-র জন্য toISOString, RFC 2822-র জন্য toUTCString, ব্যবহারকারীর লোকাল জোনের জন্য toString, এবং আমরা যে অন্য টাইমজোন দেখাতে চাই তার জন্য Intl.DateTimeFormat।
অন্যদিকে, ব্রাউজারের Date.parse ISO 8601 এবং অনেক স্বাভাবিক ফরম্যাট সামলায়। datetime-local ইনপুট ব্যবহারকারীর লোকাল টাইমজোনে ব্যাখ্যা করা হয়। getTime epoch থেকে মিলিসেকেন্ড রিটার্ন করে; সেকেন্ডের জন্য ১০০০ দিয়ে ভাগ করুন।
বাস্তব পরিস্থিতি যেখানে আপনি একটি epoch কনভার্টারের জন্য হাত বাড়াবেন।
JSON Web Token iat (issued at) এবং exp (expires at) Unix সেকেন্ড হিসেবে এনকোড করে। সংখ্যাটি পেস্ট করে তাৎক্ষণিকভাবে দেখুন টোকেনটি এখনও বৈধ কিনা, কখন ইস্যু হয়েছে এবং মেয়াদ শেষ হতে কত বাকি।
Postgres-এর extract(epoch from now), MySQL-এর UNIX_TIMESTAMP, MongoDB-র $toDate — সবই Unix epoch রিটার্ন করে। একটি রো-র টাইমস্ট্যাম্প মান পেস্ট করে টাইমজোনগুলোতে আসল ওয়াল-ক্লক টাইম দেখুন।
অ্যাপ্লিকেশন লগ UTC-তে, syslog লোকাল টাইমে, একটি আপস্ট্রিম প্রোভাইডারের লগ PST-তে। প্রতিটি টাইমস্ট্যাম্প এখানে ISO 8601-এ রূপান্তর করুন, তারপর একটি ইনসিডেন্ট অনুসন্ধানের সময় সেকেন্ড-ধরে-সেকেন্ড মিলিয়ে দেখতে পারবেন।
পিকারে একটি ভবিষ্যত তারিখ বাছুন, Unix টাইমস্ট্যাম্প কপি করুন, একটি Set-Cookie হেডার, একটি HTTP Expires ফিল্ড, বা আপনার ক্যাশ TTL কনফিগে পেস্ট করুন। কোনো মানসিক হিসাব নেই, কোনো অফ-বাই-ওয়ান জোন এরর নেই।
প্রোডাকশন লগ, কাস্টমার সাপোর্ট টিকিট, অডিট ট্রেইল বা টেস্ট ফিক্সচারের টাইমস্ট্যাম্প প্রায়শই নিরীহ দেখালেও সেগুলো ব্যবহারকারীর কাজ ও ইনফ্রাস্ট্রাকচার ঘটনার সাথে জড়িত। অন্য কারো সার্ভারে পেস্ট করলে এমন একটি কাগুজে ট্রেইল তৈরি হয় যা আপনার নিয়ন্ত্রণে নেই। iKit-এর কনভার্টার আপনার ব্রাউজার ট্যাবে আগে থেকে লোড হওয়া JavaScript হিসেবেই চলে।
iKit ব্লগ থেকে গভীর টিউটোরিয়াল এবং টুল তুলনা।
Unix টাইমস্ট্যাম্প (যা "Unix টাইম" বা "epoch টাইম" নামেও পরিচিত) হলো বৃহস্পতিবার, ১ জানুয়ারি ১৯৭০-এর 00:00:00 UTC থেকে অতিবাহিত সেকেন্ডের সংখ্যা, লিপ সেকেন্ড উপেক্ষা করে। এটি ডেটাবেস, লগ ফাইল, API এবং কুকিতে ব্যবহৃত সর্বজনীন সময় ফরম্যাট। ১০-সংখ্যার মান সেকেন্ড (২২৮৬ সালে ১১ সংখ্যা হবে); ১৩-সংখ্যার মান মিলিসেকেন্ড।
অধিকাংশ Unix টুলিং (curl, date, syslog, JWT-র exp/iat ক্লেইম) সেকেন্ড ব্যবহার করে। JavaScript-এর Date.now মিলিসেকেন্ড রিটার্ন করে। Java, Kotlin এবং অনেক ওয়েব API মিলিসেকেন্ড ব্যবহার করে। আজকের দিনে আপনার সংখ্যা প্রায় ১০ সংখ্যার হলে সেটি সেকেন্ড। ১৩ সংখ্যার হলে মিলিসেকেন্ড। iKit সংখ্যা গুনে স্বয়ংক্রিয়ভাবে শনাক্ত করে, তবে আপনি রেডিও বাটন দিয়ে ইউনিট জোর করে নির্ধারণ করতে পারেন।
না। পুরো টুলটি আপনার ব্রাউজার ট্যাবের ভেতরে চলা JavaScript। রূপান্তর শুধু সাধারণ Date গণনা — কোনো fetch নেই, কোনো XHR নেই, কোনো beacon নেই। DevTools → Network খুলে দেখুন: টাইপ করার সময় কোনো রিকোয়েস্ট যায় না। প্রোডাকশন লগ, স্টেজিং ডেটাবেস বা কাস্টমার সাপোর্ট টিকিটের টাইমস্ট্যাম্প পেস্ট করা নিরাপদ।
সংজ্ঞা অনুসারে Unix টাইমস্ট্যাম্প টাইমজোন-হীন — এটি UTC epoch থেকে সেকেন্ডের সংখ্যা। শুধু প্রদর্শনের সময় ভিন্ন দেখায়। তারিখ → টাইমস্ট্যাম্প পাশের পিকার আপনার ব্রাউজারের লোকাল টাইমজোন ব্যবহার করে। অন্য জোনে তারিখ ইনপুট দিতে স্পষ্ট অফসেট সহ-ফর্ম লিখুন, যেমন "2024-01-15 10:30:00 +09:00" বা "2024-01-15 10:30 UTC"।
৩২-বিট সাইনড Unix টাইমস্ট্যাম্প ১৯ জানুয়ারি ২০৩৮-এ ওভারফ্লো করবে। iKit JavaScript-এর Number টাইপ ব্যবহার করে (৫৩-বিট নিরাপদ-পূর্ণসংখ্যা পরিসর), তাই আমরা ২৭৫০০০ খ্রিস্টাব্দের অনেক পরের তারিখও সামলাতে পারি। Y2038 সমস্যা ৩২-বিট time_t চালিত সিস্টেমকে প্রভাবিত করে — অধিকাংশ আধুনিক OS কার্নেল, ডেটাবেস ও ভাষা ইতিমধ্যেই ৬৪-বিট টাইমে চলে গেছে, তবে লেগেসি এমবেডেড ফার্মওয়্যার এখনও এতে আক্রান্ত হতে পারে।