Menu

ממיר Unix Timestamp

להמיר בין חותמות זמן של Unix, ISO 8601, UTC וזמן מקומי.

מאת Nethanel Bar, Co-founder & CEO

עודכן לאחרונה

מוכנים ללמוד תכנות באמת?

ב-Coddy לומדים דרך כתיבת קוד אמיתי בדפדפן: שיעורים אינטראקטיביים, משוב מיידי ועזרה מ-AI כשנתקעים.

מה זה Unix timestamp converter?

Unix timestamp converter הופך *epoch time*, כלומר מספר יחיד שמייצג רגע מסוים בזמן, לתאריכים קריאים, וממיר תאריכים בחזרה ל-timestamps. מפתחים נתקלים ב-timestamps בכל מקום: עמודות במסד נתונים, שורות לוג, תגובות API, אירועי אנליטיקס, ה-claim exp של JWT, טריגרים של מתזמנים וכותרות תפוגה של cache.

הרעיון הבסיסי פשוט: מחשבים שומרים זמן כמספר (שניות או מילישניות מאז 1970-01-01 00:00:00 UTC), אבל בני אדם צריכים לוחות שנה, אזורי זמן ופורמטים קריאים. ההמרה בין השניים היא אחת ממשימות הדיבוג הנפוצות ביותר בכל אפליקציית ווב או מובייל.

החלק המבלבל ביותר הוא *היחידות*. POSIX ורוב שפות ה-backend משתמשות בשניות. JavaScript, Java והרבה message brokers משתמשים במילישניות. חלק ממערכות המדדים משתמשות במיקרו שניות או בננו שניות. מספר בן 10 ספרות הוא כמעט תמיד שניות, ומספר בן 13 ספרות הוא כמעט תמיד מילישניות.

מה תלמדו תוך כדי המרת timestamps

  • Unix timestamps מודדים זמן ב*שניות* או ב*מילישניות* מאז ה-epoch של Unix (1970-01-01 00:00:00 UTC).
  • UTC הוא נקודת ייחוס קבועה. השעה המקומית תלויה באזור הזמן של המשתמש, בכללי שעון הקיץ ובהגדרת השעון של המכשיר.
  • ISO 8601 (2026-04-25T12:00:00Z) הוא פורמט טקסט נייד. ה-Z בסוף (או +00:00) פירושו UTC, והיסט כמו +02:00 פירושו שעה מקומית שמקדימה את UTC בשעתיים.
  • Timestamps הם הפורמט הבטוח ביותר להשוואה. שתי מחרוזות ISO יכולות לתאר את אותו רגע ובכל זאת להיראות שונה (2026-04-25T12:00:00Z ו-2026-04-25T14:00:00+02:00).

איך ממירים Unix timestamp, שלב אחר שלב

  1. הדביקו את הערך

    הדביקו מספר (שניות או מילישניות) או מחרוזת תאריך. הממיר מזהה את הפורמט אוטומטית לפי האורך והצורה.

  2. וודאו את היחידה

    עברו בין שניות למילישניות אם הזיהוי האוטומטי טועה: מספר בן 10 ספרות הוא שניות, ומספר בן 13 ספרות הוא מילישניות.

  3. קראו את שתי התצוגות

    הפלט מציג ISO 8601 ב-UTC, את השעה המקומית שלכם וביטוי יחסי קריא (לפני 3 שעות, בעוד יומיים).

  4. העתיקו את מה שצריך

    העתיקו ישירות את ה-timestamp, את מחרוזת ה-ISO או את השעה המקומית. שימושי כשממלאים exp של JWT, שורה במסד נתונים או שאילתת לוגים.

מדריך מהיר לפורמטים של timestamp

הפורמטים שתראו הכי הרבה כשעובדים עם תאריכים ושעות בקוד. ה-IETF מגדיר גם פרופיל של ISO 8601 בשם RFC 3339 לשימוש בפרוטוקולים.

פורמטדוגמהאיפה רואים אותו
Unix בשניות1777118400לוגים של backend, exp של JWT, time() של POSIX, Redis
Unix במילישניות1777118400000Date.now() של JavaScript, System.currentTimeMillis() של Java
ISO 8601 ב-UTC2026-04-25T12:00:00ZREST APIs, JSON, GraphQL, קובצי לוג
ISO 8601 עם היסט2026-04-25T14:00:00+02:00תזמונים שמוצגים למשתמש, הזמנות ביומן
RFC 2822Sat, 25 Apr 2026 12:00:00 GMTכותרות email, Date ו-Last-Modified ב-HTTP
תאריך בלבד2026-04-25ימי הולדת, חגים: בלי משמעות של אזור זמן

דוגמאות timestamp לנסות

שניות מול מילישניות

שניות (10 ספרות)

1777118400

מילישניות (13 ספרות)

1777118400000

שני הערכים מתארים את אותו רגע אם הראשון מתפרש כשניות והשני כמילישניות. בלבול ביניהם הוא הבאג הנפוץ ביותר עם timestamps.

קריאת timestamp מ-API

תגובה
{  "id": 42,  "createdAt": 1777118400,  "expiresAt": 1777204800}

המירו כל ערך לפני שאתם מניחים אם הוא בעבר או בעתיד. רוב ה-JSON APIs משתמשים ב-Unix בשניות, אבל תמיד בדקו בתיעוד: backends שמבוססים בכבדות על JavaScript שולחים לעיתים קרובות מילישניות.

השוואה בין UTC לשעה מקומית

UTC

2026-04-25T12:00:00Z

אותו רגע, +02:00

2026-04-25T14:00:00+02:00

שתי המחרוזות האלה מייצגות את *אותו רגע בדיוק*. תמיד שמרו רגעים ב-UTC, והמירו לשעה מקומית רק בזמן התצוגה.

טעויות נפוצות עם timestamps

  • ערבוב בין שניות למילישניות. פקטור של 1000 יכול להזיז תאריך בעשרות שנים: 1700000000 כשניות הוא נובמבר 2023, אבל כמילישניות הוא ינואר 1970.
  • שמירת מחרוזת תאריך בלי אזור זמן. מערכות שונות יפרשו אותה אחרת: חלקן מניחות UTC, וחלקן את אזור הזמן המקומי של השרת.
  • השוואה של מחרוזות תאריך מעוצבות ('2026-04-25') במקום השוואה של timestamps. שתי מחרוזות ISO תקינות יכולות לתאר את אותו רגע בפורמטים שונים.
  • שכחה של מעברי שעון קיץ כשמתזמנים אירועים חוזרים בשעה מקומית. תמיד השתמשו ב-UTC כמקור האמת.
  • הסתמכות על שעון המכשיר כסמכות למועדים רגישים לאבטחה (תפוגת tokens, OTPs). השתמשו בשעון של השרת עם סבילות קטנה לסטייה.

שאלות נפוצות על Unix timestamp

מה זה Unix timestamp?
Unix timestamp (שנקרא גם epoch time) הוא מספר השניות (או המילישניות) שעברו מאז 1970-01-01 00:00:00 UTC. זה מספר יחיד שמייצג רגע מסוים בזמן, בלי תלות באזור זמן כלשהו.
למה יש timestamps בני 10 ספרות ואחרים בני 13?
Unix timestamp בן 10 ספרות הוא בשניות. אחד בן 13 ספרות הוא במילישניות. Date.now() של JavaScript מחזיר מילישניות, ורוב ה-backends מחזירים שניות.
מה פירוש UTC?
UTC הוא קיצור של Coordinated Universal Time, הזמן האוניברסלי המתואם. זו נקודת הייחוס העולמית לזמן, והיא לא עוברת לשעון קיץ. רוב מסדי הנתונים, ה-APIs והלוגים צריכים לשמור זמן ב-UTC.
למה JavaScript משתמשת במילישניות?
האובייקט Date של JavaScript שומר timestamps כמילישניות מאז ה-epoch של Unix: זה הערך ש-Date.now() ו-new Date().getTime() מחזירים. זה נותן דיוק גבוה יותר משניות, אבל זה גם מקור נפוץ לבאגים של פי 1000 בעבודה מול שפות אחרות.
איך ממירים Unix timestamp לתאריך?
הכפילו ב-1000 (אם הערך בשניות) והעבירו ל-new Date(...) ב-JavaScript, או השתמשו ב-datetime.fromtimestamp(...) ב-Python. אפשר גם להדביק אותו ב-Unix timestamp converter ולקבל תוצאה בלחיצה אחת.
האם Unix timestamps יגלשו?
Unix timestamps של 32 ביט עם סימן גולשים ב-2038-01-19, מה שמכונה בעיית 2038. שפות ומסדי נתונים מודרניים שומרים timestamps כמספרים שלמים של 64 ביט, וזה מרחיב את הטווח הבטוח במאות מיליארדי שנים.

למידע נוסף

כלי פיתוח נוספים

איור של שפות התכנות ב-Coddy

ללמוד תכנות עם Coddy

להתחיל