خواندن claim مربوط به exp / iat در JWT
JSON Web Tokenها iat (زمان صدور) و exp (زمان انقضا) را بهصورت ثانیه Unix رمزگذاری میکنند. عدد را paste کنید تا فوراً ببینید آیا توکن هنوز معتبر است، چه زمانی صادر شده و چه زمانی منقضی میشود.
هر تایماستمپ Unix (ثانیه یا میلیثانیه) را در یک لحظه به تاریخی خوانا تبدیل کنید — یا هر تاریخی را به epoch برگردانید. ISO 8601، RFC 2822، UTC، زمان محلی و بیش از ۱۰ منطقه زمانی در یک نما.
تایماستمپ Unix (که با نامهای "زمان Unix" یا "زمان epoch" نیز شناخته میشود) تعداد ثانیههای سپریشده از ساعت 00:00:00 UTC پنجشنبه ۱ ژانویه ۱۹۷۰ است که ثانیههای کبیسه را نادیده میگیرد. این قالب جهانی زمان در پایگاههای داده، فایلهای لاگ، APIها و کوکیها استفاده میشود. عدد ۱۰ رقمی ثانیه است (در سال ۲۲۸۶ به ۱۱ رقم میرسد) و عدد ۱۳ رقمی میلیثانیه است.
بیشتر ابزارهای Unix (curl، date، syslog، claimهای exp/iat در JWT) از ثانیه استفاده میکنند. Date.now در JavaScript میلیثانیه برمیگرداند. Java، Kotlin و بسیاری از APIهای وب از میلیثانیه استفاده میکنند. اگر عدد شما امروز حدود ۱۰ رقم باشد، ثانیه است؛ اگر ۱۳ رقم باشد، میلیثانیه. iKit براساس تعداد ارقام بهصورت خودکار تشخیص میدهد، اما میتوانید واحد را با دکمههای رادیویی اجباری کنید.
—
ثانیه
—
میلیثانیه
مرورگر انتخابگر را در منطقه زمانی محلی شما تفسیر میکند — برای تبدیل از منطقهای دیگر، منطقه زمانی سیستمعامل را تغییر دهید.
هر چیزی که Date.parse بفهمد: "2024-01-15 10:30 UTC"، "Jan 15, 2024"، "2024-01-15T10:30:00+09:00".
ساختهشده برای توسعهدهندگانی که لاگها، APIها و تایماستمپهای پایگاهداده را دیباگ میکنند — بدون ثبتنام، بدون آپلود و بدون واسطه میان شما و دادههایتان.
زمان فعلی Unix هر ثانیه در بالای صفحه به ثانیه و میلیثانیه بهروزرسانی میشود. کپی هر قالب با یک کلیک.
هر عددی را paste کنید — ۱۰ رقم بهعنوان ثانیه، ۱۳ رقم بهعنوان میلیثانیه و ۱۶ رقم بهعنوان میکروثانیه در نظر گرفته میشود. در صورت نیاز با کلید واحد بهصورت دستی تنظیم کنید.
ISO 8601، RFC 2822، ساعت UTC، زمان محلی شما و Y-M-D H:M:S در یک نما. بهعلاوه روز هفته و یک اختلاف نسبی خوانا ("۲ ساعت پیش").
همان لحظه را در UTC، نیویورک، لسآنجلس، لندن، پاریس، توکیو، شانگهای، تایپه، کلکته و سیدنی ببینید — مفید برای حوادث بینتیمی و APIهای جهانی.
به حالت تاریخ ← تایماستمپ بروید تا "Jan 15 2024 10:30 UTC" را تایپ کنید یا از یک ورودی date-time انتخاب کنید و تایماستمپ Unix را به ثانیه و میلیثانیه دریافت کنید.
همه چیز بهصورت JavaScript که از قبل در تب مرورگر شما بارگذاری شده اجرا میشود. در DevTools → Network قابل بررسی است: نه fetch، نه XHR و نه لاگبرداری. مناسب برای تایماستمپهای محیط production.
تایماستمپ Unix فقط یک عدد صحیح است — اما تبدیل آن به تاریخ شامل جزئیات شگفتانگیزی است.
تایماستمپ Unix بسته به منبع میتواند به ثانیه، میلیثانیه، میکروثانیه یا نانوثانیه باشد. اولین کار این است که بدانید کدام را دارید. iKit به تعداد ارقام نگاه میکند: ~۱۰ رقم = ثانیه، ~۱۳ = میلیثانیه، ~۱۶ = میکروثانیه. میتوانید تشخیص خودکار را با دکمههای رادیویی واحد بازنویسی کنید.
سازنده Date در JavaScript میلیثانیه میگیرد، بنابراین برای نرمالسازی، ثانیه را در ۱۰۰۰ ضرب میکنیم (یا میکروثانیه را بر ۱۰۰۰ تقسیم میکنیم). در داخل، Date میلیثانیههای سپریشده از epoch را در یک float ۶۴ بیتی ذخیره میکند — برای هر تایماستمپ واقعگرایانه بازه کافی دارد.
وقتی یک شیء Date داریم، از آن میخواهیم خود را به چند روش قالببندی کند: toISOString برای ISO 8601 / UTC، toUTCString برای RFC 2822، toString برای منطقه محلی کاربر، و Intl.DateTimeFormat برای هر منطقه زمانی دیگری که میخواهیم نشان دهیم.
در جهت مخالف، Date.parse مرورگر ISO 8601 و بسیاری از قالبهای طبیعی را مدیریت میکند. ورودی datetime-local در منطقه زمانی محلی کاربر تفسیر میشود. getTime میلیثانیههای سپریشده از epoch را برمیگرداند؛ برای ثانیه بر ۱۰۰۰ تقسیم کنید.
موقعیتهای واقعی که در آن سراغ یک مبدل epoch خواهید رفت.
JSON Web Tokenها iat (زمان صدور) و exp (زمان انقضا) را بهصورت ثانیه Unix رمزگذاری میکنند. عدد را paste کنید تا فوراً ببینید آیا توکن هنوز معتبر است، چه زمانی صادر شده و چه زمانی منقضی میشود.
extract(epoch from now) در Postgres، UNIX_TIMESTAMP در MySQL، $toDate در MongoDB — همه epoch Unix برمیگردانند. مقدار تایماستمپ یک ردیف را paste کنید تا زمان واقعی ساعت دیواری را در مناطق زمانی مختلف ببینید.
لاگهای اپلیکیشن در UTC، syslog در زمان محلی، لاگهای یک ارائهدهنده بالادست در PST. هر تایماستمپ را اینجا به ISO 8601 تبدیل کنید تا هنگام پیگیری یک حادثه بتوانید آنها را ثانیهبهثانیه با هم تطبیق دهید.
یک تاریخ آینده در انتخابگر بردارید، تایماستمپ Unix را کپی کنید و در هدر Set-Cookie، فیلد HTTP Expires یا پیکربندی TTL کش خود paste کنید. بدون محاسبات ذهنی و بدون خطاهای off-by-one منطقه زمانی.
تایماستمپهای لاگهای production، تیکتهای پشتیبانی مشتری، رد ممیزی یا fixtureهای تست اغلب بیخطر به نظر میرسند اما به اقدامات کاربر و رویدادهای زیرساختی گره خوردهاند. paste کردن آنها در سرور شخص دیگر یک رد کاغذی ایجاد میکند که شما کنترلی روی آن ندارید. مبدل iKit بهصورت JavaScript که از قبل در تب مرورگر شما بارگذاری شده اجرا میشود.
آموزشهای تخصصی و مقایسه ابزارها از وبلاگ iKit.
تایماستمپ Unix (که با نامهای "زمان Unix" یا "زمان epoch" نیز شناخته میشود) تعداد ثانیههای سپریشده از ساعت 00:00:00 UTC پنجشنبه ۱ ژانویه ۱۹۷۰ است که ثانیههای کبیسه را نادیده میگیرد. این قالب جهانی زمان در پایگاههای داده، فایلهای لاگ، APIها و کوکیها استفاده میشود. عدد ۱۰ رقمی ثانیه است (در سال ۲۲۸۶ به ۱۱ رقم میرسد) و عدد ۱۳ رقمی میلیثانیه است.
بیشتر ابزارهای Unix (curl، date، syslog، claimهای exp/iat در JWT) از ثانیه استفاده میکنند. Date.now در JavaScript میلیثانیه برمیگرداند. Java، Kotlin و بسیاری از APIهای وب از میلیثانیه استفاده میکنند. اگر عدد شما امروز حدود ۱۰ رقم باشد، ثانیه است؛ اگر ۱۳ رقم باشد، میلیثانیه. iKit براساس تعداد ارقام بهصورت خودکار تشخیص میدهد، اما میتوانید واحد را با دکمههای رادیویی اجباری کنید.
خیر. کل ابزار JavaScript است که داخل تب مرورگر شما اجرا میشود. تبدیل صرفاً محاسبات Date است — نه fetch، نه XHR، نه beacon. DevTools → Network را باز کنید و ببینید: هنگام تایپ هیچ درخواستی ارسال نمیشود. paste کردن تایماستمپ از لاگهای production، پایگاههای داده staging یا تیکتهای پشتیبانی مشتری ایمن است.
تایماستمپ Unix بر اساس تعریف بدون منطقه زمانی است — تعداد ثانیههای سپریشده از epoch UTC است. تفاوت در زمان نمایش ظاهر میشود. انتخابگر در سمت تاریخ ← تایماستمپ از منطقه زمانی محلی مرورگر شما استفاده میکند. برای ورود تاریخ در منطقهای دیگر، آن را بهصورت آزاد با offset صریح بنویسید، مثلاً "2024-01-15 10:30:00 +09:00" یا "2024-01-15 10:30 UTC".
تایماستمپهای Unix علامتدار ۳۲ بیتی در ۱۹ ژانویه ۲۰۳۸ سرریز میشوند. iKit از نوع Number جاوااسکریپت (بازه عدد صحیح ایمن ۵۳ بیتی) استفاده میکند، بنابراین تاریخهایی بسیار فراتر از سال ۲۷۵۰۰۰ میلادی را پشتیبانی میکنیم. مشکل Y2038 سیستمهایی را تحت تأثیر قرار میدهد که از time_t ۳۲ بیتی استفاده میکنند — بیشتر کرنلهای مدرن سیستمعامل، پایگاههای داده و زبانها به زمان ۶۴ بیتی منتقل شدهاند، اما firmware قدیمی embedded هنوز ممکن است با آن مواجه شود.