SIMETRIUM .COM
مرز 2 147 483 647 · 19.01.2038
36 زبان
Symbol plate INT32
unix 2147483647 MAX
unix با حروف کوچک، epoch time هم‌معناستبا TAI و MJD اشتباه نشود
برگهٔ یکا شمارش ثانیه‌ها · نگارش ISO 8601 برگهٔ 1/1 · ویرایش 2026-09

زمان Unix و نگارش ISO 8601

یکای بیرون از SI · کمیت: یک لحظهٔ زمانی همچون عدد صحیح ثانیه از 1970

در نوزدهم ژانویهٔ 2038، ساعت سه و چهارده دقیقه و هفت ثانیه به وقت جهانی، شمارنده‌ای از ثانیه‌ها به پهنای سی‌ودو بیت به 2 147 483 647 می‌رسد — بزرگ‌ترین عددی که توان در بر گرفتنش را دارد. تپش بعدی بیت بالایی را برمی‌افرازد و همان واژهٔ دودویی از این پس منفی خوانده می‌شود: ساعت‌هایی که زمان را درست با همین شمارش نگه می‌دارند نه در 2038، که در دسامبر 1901 خواهند بود. این شگفتی آینده‌ای دور نیست — یک کنترل‌گر صنعتی یا کنتور آب بیش از آن دوازده سالی که مانده خدمت می‌کند.

شمارش به نهایت ساده ساخته شده است: ثانیه‌ها پشت سر هم از نیمه‌شب یکم ژانویهٔ 1970 می‌روند، و روز در آن همیشه دقیقاً 86 400 ثانیه دارد. همین سادگی سرچشمهٔ هر دو ویژگی آن است. از یک سو، از عدد بی‌درنگ تاریخ تقویمی برمی‌آید و برعکس، چنان‌که هر گزارش رویدادها، هر پایگاه داده و هر سامانهٔ پرونده زمان را با آن نگه می‌دارد. از سوی دیگر، ثانیهٔ کبیسه را در چنین شمارشی به‌هیچ‌روی نمی‌توان بیان کرد، یعنی برخلاف نامش نه ثانیه‌ها را شماره می‌زند بلکه روزها را با کسرهایشان، و در حقیقت تابعی خطی از نگارش UTC است، نه شمارنده‌ای از زمان گذشته.

نشانه unix time · epoch time
یکای شمارش ثانیهٔ SI
آغاز شمارش 1970-01-01T00:00:00Z
ثانیه در روزِ شمارش دقیقاً 86 400 s، بدون ثانیهٔ کبیسه
مرز سی‌ودو بیت 2038-01-19T03:14:07Z
ترجمه‌های آماده / 36
01 · تعریف

زمان Unix شمار ثانیه‌هایی است که از نیمه‌شب یکم ژانویهٔ 1970 به وقت جهانی هماهنگ گذشته است، به این شرط که هر روز دقیقاً 86 400 ثانیه داشته باشد. نگارش ISO 8601 همان را جور دیگری می‌گوید: با تاریخ تقویمی، وقت روز و نشان دادن اختلاف از نصف‌النهار مبدأ، و میدان‌ها به‌سختی از درشت به ریز می‌روند.

شرط 86 400 ثانیه ریزه‌کاری نیست، بلکه بنیادی‌ترین چیز در تعریف است. ثانیهٔ کبیسه را، که سازمان چرخش زمین اعلام می‌کند، شمارش نمی‌تواند در خود جای دهد، و از این رو در لحظهٔ درج، سامانه یا یک مقدار واحد را دو بار تکرار می‌کند یا ساعت را عقب می‌برد. از این چیز مهمی برمی‌آید: تفاضل دو عدد unix شمار ثانیه‌هایی نیست که میان دو رویداد به‌راستی گذشته، اگر میانشان کبیسه‌ای افتاده باشد — واگرایی از مقیاس اتمی هم‌اکنون به بیست‌وهفت ثانیه رسیده است.

اما مرز نه به تعریف که به پهنای نگهداری بستگی دارد. سی‌ودو بیت با علامت بزرگ‌ترین مقدار 2 147 483 647 را می‌دهد که در نوزدهم ژانویهٔ 2038 می‌افتد؛ افزایش بعدی بیت بالایی را یک می‌کند و عدد را منفی می‌سازد و ساعت را به سیزدهم دسامبر 1901 پرتاب می‌کند. شصت‌وچهار بیت مرز را دویست‌ونودودو میلیارد سال به جلو می‌راند، اما میلیاردم‌های صحیح در همان شصت‌وچهار بیت همین 2262 به پایان می‌رسند.

نگارش بر پایهٔ استاندارد کار دیگری را حل می‌کند — تبادل را، نه نگهداری را — و از این رو در آن چیزهایی وزن دارند که عدد اصلاً ندارد: اختلاف ساعت، جداکننده میان تاریخ و وقت، و این قاعده که در برابری طول رشته، ترتیب الفبایی با ترتیب زمانی می‌خواند. همین ویژگی واپسین بود که قالب را پایهٔ چیدن در نام پرونده‌ها و در گزارش‌ها کرد.

به‌طور رسمی t — زمان Unix، N — پهنای عدد صحیح علامت‌دار، JD — تاریخ ژولیانی
شمارش از مبدأ
t = 86 400 · (JD − 2 440 587,5)
مرز پهنای واژه
t(max) = 2^(N−1) − 1
سرریز
t' = ((t + 2^31) mod 2^32) − 2^31
روزها و باقی‌مانده
D = ⌊t / 86 400⌋, r = t mod 86 400
T
بعد: شمارش ثانیه زمان را می‌سنجد
86 400
ثانیه در روزِ شمارش — همیشه، بی‌استثنا
2³¹
مرزی که پس از آن عدد صحیح علامت‌دار می‌شکند
تعاملی · سی‌ودو بیت تا از کار افتادن

زمان را با لغزنده ببرید و ببینید ثبات چگونه پر می‌شود: بیت‌ها از راست به چپ روشن می‌شوند، و تا زمانی که بالایی، بیت علامت، تاریک بماند عدد مثبت است و تاریخ می‌بالد. همین که شمارنده از 2 147 483 647 بگذرد، بیت بالایی سرخ برمی‌افروزد، همهٔ عدد منفی می‌شود و ساعت به 1901 می‌جهد.

بیت 31 — علامتبیت 0
لحظهٔ زمانی، سال
شمارش ثانیه‌ها
چه در 32 بیت جای می‌گیرد
سامانه آن را چگونه می‌خواند

خط راست و آنکه می‌لغزد

خط سبز راست مقیاس اتمی است، جایی که هر ثانیه به‌راستی ثانیه است. خط سرخ پلکانی زمان Unix است، که در هر درج یک مهر واحد را دو بار می‌دهد، و از این رو خط در جای خود می‌ایستد. واگرایی هم‌اکنون بیست‌وهفت ثانیه است و می‌بالد، و از این رو شمارش برای تاریخ تقویمی به کار می‌آید، نه برای اندازه‌گیری مدت‌ها در فیزیک.

02 · تبدیل

مهر زمانی یا تاریخ را وارد کنید

میان همهٔ مضرب‌های شمارش — ثانیه، هزارم، میلیونم و میلیاردم — تبدیل‌ها دقیق‌اند، چون تنها به یک ضریب فرق دارند. تقریبی یک سطر است و بس: تبدیل به مقیاس اتمی نیازمند دانستن این است که تا لحظهٔ داده‌شده چند ثانیهٔ کبیسه گرد آمده.

تحلیل رشته بر پایهٔ استاندارد را برگه در نگارش گسترده با حرف Z انجام می‌دهد؛ شکل پایه بدون جداکننده به تنظیم‌های ریز برده شده است.

مسئلهٔ سال 2038 در استاندارد نیست، در سخت‌افزار و در کد کهنه است: مهرهای سی‌ودو بیتی در نرم‌افزار کنتورها، در کنترل‌گرهای صنعتی، در قالب‌های سامانهٔ پرونده و در پایگاه‌های داده نشسته‌اند، آنجا که میدان پیش‌تر چهاربایتی اعلام شده. تغییر نوع در متن برنامه به‌قدر کافی آسان است؛ اما گذر از میلیون‌ها دستگاه نصب‌شده در دوازده سال باقی‌مانده کاری است از همان گونه که پیش از سال 2000 در پیش بود.

جدول تبدیل
مقداریادداشت
نگارش بر پایهٔ استاندارد
در 32 بیت
مبدأ

03 · مرتبه‌های بزرگی
مقیاس لگاریتمی: از ثانیه تا مرز شصت‌وچهار بیت

بازه بر حسب ثانیه
نوار روشن آن است که عدد علامت‌دار سی‌ودو بیتی در بر می‌گیرد: از یک ثانیه تا مرز 2 147 483 647 که در راست با خط سرخ نشان شده. هر چه فراتر از آن است شصت‌وچهار بیت می‌خواهد، و آنجا ذخیره چنان بزرگ می‌شود که به ریشخند می‌ماند — دویست‌ونودودو میلیارد سال، یعنی بیست برابر عمر جهان.
04 · ابزارهای اندازه‌گیری

با چه چیز بر رویداد مهر زمانی می‌زنند

ساعت برد · NTP · گزارش · میز آزمون
ساعت زمان واقعی

تراشه‌ای جداگانه با باتری که تا دستگاه خاموش است شمارش را نگه می‌دارد. معمولاً نه مهر unix که میدان‌های تقویم را جداگانه نگه می‌دارد، و پهنای میدان سالش از آنِ خودش است، چنان‌که در بردهای کهنه سخن از 2038 با این پرسش آغاز می‌شود که خود تراشه تا کدام سال می‌شمارد.

همگام‌سازی از راه شبکه

پروتکل NTP ساعت ماشین را با دقت چند هزارم ثانیه به زمان مشترک می‌رساند، و خودش نیز با پرچمی ویژه یک روز پیش‌تر از درج هشدار می‌دهد. مرز خودش را هم دارد، و آن زودتر می‌رسد: شمارش از 1900 در سی‌ودو بیت بی‌علامت می‌رود و در فوریهٔ 2036 سرریز می‌کند.

گزارش رویدادها

در گزارش مهر را یا با عدد می‌نویسند یا با رشته بر پایهٔ استاندارد، و دومی درست به یک دلیل بهتر است: در رشته‌های هم‌طول، ترتیب الفبایی با ترتیب زمانی می‌خواند، چنان‌که مدخل‌ها بدون تحلیل تاریخ چیده می‌شوند. درست از همین رو قالب بسیار فراتر از فن رایانه گسترده شد.

میزی که ساعتش جلو برده شده

آمادگی دستگاه برای 2038 را تنها به یک راه می‌توان آزمود — ساعتش را فراتر از مرز شوم بردن و دیدن که بر سر گزارش‌ها، گواهی‌ها و محاسبهٔ بازه‌ها چه می‌آید. به این شیوه پیش‌تر خرابی‌هایی در صورت‌حساب، در سامانه‌های کنترل ورود و در مدت اعتبار کلیدها یافته شده، آنجا که تاریخ آینده با جمع ساخته می‌شود و مدت‌ها پیش از خود مرز سرریز می‌کند.

05 · قواعد نگارش

از درشت به ریز، و همیشه با اختلاف ساعت

استاندارد ترتیب کاهشی میدان‌ها، چهار رقم سال، خط تیره را همچون جداکنندهٔ تاریخ و حرف T را پیش از وقت می‌خواهد؛ اختلاف ساعت یا با حرف Z برای نصف‌النهار مبدأ نشان داده می‌شود یا همچون به‌علاوه و منهای ساعت و دقیقه. مهر unix با عدد صحیح و بدون جداکردن مرتبه‌ها نوشته می‌شود، و مضرب را همیشه باید روشن کرد، چون ضریب هزار ثانیه‌ها را از هزارم‌ها جدا می‌کند و از روی بزرگی عدد این دو به‌آسانی اشتباه می‌شوند.

درست
2026-09-02T14:30:00Z
2026-09-02T17:30:00+03:00
2026-W36-3 · 2026-245
1788359400 s · 1788359400000 ms
نادرست
02.09.2026 14:30
2026-09-02 14:30:00
2026-9-2T14:30:00Z
unix 1788359400 = 1788359400 s TAI

نگارش نخست در کشورهای گوناگون جور دیگری خوانده می‌شود و از این رو در تبادل داده روا نیست. دومی هم جداکننده و هم اختلاف ساعت را می‌اندازد، چنان‌که لحظه به اندازهٔ یک روز به هر دو سو نامعین می‌ماند. سومی صفرهای آغازین را از دست می‌دهد و رشته‌ها دیگر الفبایی چیده نمی‌شوند — و درست به خاطر همین ویژگی است که قالب ارج دارد. چهارمی میان شمارش unix و مقیاس اتمی نشان برابری می‌گذارد، حال آنکه میان آن دو بیست‌وهفت ثانیه درج انباشته خوابیده است.

06 · یکاهای همسایه

در کنارش همهٔ شمارش‌هایی ایستاده‌اند که بر همان اصل ساخته شده‌اند، اما از آغازی دیگر: زمان NTP از 1900، تاریخ ژولیانی از نیم‌روز سال 4713 پیش از عصر ما، مقیاس سامانهٔ ماهواره‌ای از ژانویهٔ 1980. تنها به مبدأ و یکا فرق دارند و از این رو با کم کردن یک ثابت تبدیل می‌شوند.

unix
از 1970
ثانیه‌های علامت‌دار
NTP
از 1900
مرزش همین 2036 می‌افتد
TAI-64
ثانیه‌های اتمی
کبیسه‌ها صادقانه شمرده شده
تاریخ ژولینی
JD = t / 86 400 + 2 440 587,5
زمان NTP
t(NTP) = t + 2 208 988 800
مقیاس اتمی
TAI = t + 10 + شمار ثانیه‌های کبیسه از 1972

از شناسنامه‌های Simetrium در کنار آن‌اند تاریخ ژولیانی، که ثابت تبدیل از آن گرفته شده، مقیاس‌های UTC و TAI و UT1، که کبیسه‌های گم‌شده را توضیح می‌دهند، ثانیه همچون یکای شمارش، و بیت، که پهنایش مرز را تعیین می‌کند.

07 · بخش تاریخی

مبدأیی که از کمبود بیت برگزیده شد

بایگانی · 1971 ← 2038
1971 · موری هیل
شمارش تپش‌هایی که دو سالی کفاف می‌داد

در نخستین راهنمای Unix زمان به شصتم‌های ثانیه از آغاز 1971 شمرده می‌شد، و در سی‌ودو بیت چنین شمارشی تنها دو سالی جای می‌گرفت. چنان زود به پایان می‌رسیدند که مبدأ را باید در هر انتشار سامانه جابه‌جا می‌کردند، و از کسرهای ثانیه به سود ثانیه‌های صحیح دست کشیدند.

60 تپش در ثانیه
1973 · گزینش نقطهٔ صفر
سالی رُند به جای تاریخی رُند

با گذر به ثانیه‌های صحیح، سازندگان ذخیره‌ای صدوسی‌وشش ساله به دست آوردند و توانستند آغاز را به آسانی برگزینند نه از ناچاری. یکم ژانویهٔ 1970 را گرفتند — نزدیک‌ترین تاریخ رُند در گذشته، که نوشته‌های ماشین به هر روی به آن نمی‌رسید — و از آن پس حتی یک بار هم عوضش نکردند، هرچند سامانه بیش از یک بار از بن بازنویسی شد.

epoch = 1970-01-01
1988 · ژنو
استانداردی برای نگارش تاریخ

سازمان بین‌المللی استانداردسازی قالب‌های ملیِ واگرا را به یکی رساند و قاعده‌ای ساده را بنیاد آن نهاد: میدان‌ها از درشت به ریز می‌روند، همه با صفرهای آغازین. اثر جانبی از خودِ قصد مهم‌تر از آب درآمد — چنین رشته‌هایی همچون عدد چیده می‌شوند، و قالب در نام پرونده‌ها، گزارش‌ها و پروتکل‌های تبادل گسترده شد.

ISO 8601، امروز -1 و -2
2038 · 19 ژانویه
03:14:07 و ثانیهٔ پس از آن

سامانه‌های رومیزی و کارساز دیرزمانی است به شصت‌وچهار بیت گذشته‌اند، و آنجا مرز فراتر از هر افق خردمندانه رانده شده. خطر جای دیگری مانده است: در نرم‌افزار دستگاه‌هایی با بیست سال عمر، در قالب‌های پرونده که میدان چهاربایتی اعلام شده، و در محاسبهٔ مهلت‌های آینده که همین امروز سرریز می‌کنند، همین که به تاریخ کنونی پانزده سال بیفزایی.

→ 1901-12-13T20:45:52Z
میدانی چهاربایتی: پهنا یک بار در قالب اعلام می‌شود و از هر کدی دیرپاتر است
یادداشت اندازه‌شناختی

شمارشی که برخلاف نامش ثانیه نمی‌شمارد

تعریف زمان Unix چون شمارش ثانیه به گوش می‌آید، اما شرط 86 400 ثانیهٔ رُند در روز چیز دیگری از آن می‌سازد: تابعی خطی از نگارش UTC، نه اندازه‌ای از زمان گذشته. هر بار که سازمان چرخش زمین درجی اعلام می‌کند، شمارش باید یک مقدار واحد را دو بار تکرار کند یا به عقب بجهد، و از تفاضل دو مهر درست همان ثانیه گم می‌شود. در نیم قرن بیست‌وهفت چنین از دست رفتنی گرد آمده، و از این رو در کارهایی که مدت راستین می‌خواهند مقیاس اتمی را می‌گیرند نه این را.

ویژگی دوم اصلاً در تعریف نیست، در شیوهٔ نگهداری است، و همین آن را تنها مرزی در فهرست ما می‌کند که نه طبیعت نهاده و نه توافق، بلکه پهنای واژهٔ ماشین. تاریخ ژولیانی هرگز به پایان نمی‌رسد، چون عدد است؛ زمان Unix در نوزدهم ژانویهٔ 2038 به پایان می‌رسد، چون میدانی چهاربایتی است. تفاوت میان یک کمیت و نمایش آن معمولاً اندازه‌شناسان را کم مشغول می‌دارد، و اینجا درست همان است که همه چیز را تعیین می‌کند.

بیت بالایی برمی‌افروزد — و همهٔ تاریخ به عددی منفی بدل می‌شود
فهرست · یکاهای اندازه‌گیری

شناسنامه‌ای برای هر کمیت

هفت یکای پایهٔ SI، بیست و دو یکای برآمده با نام ویژهٔ خود، و کمیت‌های بیرون از دستگاه که بی آنها نه فن کار می‌کند نه گاه‌شمار.

7
اصلی
22
فرعی
36
زبان

زمان، مقیاس‌ها و شمارش ماشین

برگهٔ گشوده برجسته شده است

یکاهای اصلی SI

ثانیه برجسته شده — یکای این شمارش

مبدأها و مرزها

از کجا می‌شمارند و تا کجا
08 · زبان شما
هر پیوند به صفحهٔ واقعی آن زبان می‌رود

به زبان خود بخوانید

ترجمه و بازخوانی شد ترجمهٔ خام در نوبت