עזרה טכנית
מ-Unix Timestamp לתאריך: שניות, אלפיות שנייה ו-UTC מוסברים
המירו Unix timestamp לתאריך. ראו שניות מול אלפיות שנייה, UTC מול שעון מקומי, ISO 8601, ואיך להחזיר תאריך לזמן epoch.
Unix timestamp מייצג זמן ביחס ל-Unix epoch: 1970-01-01 00:00:00 UTC. בדרך כלל נשמר כשניות מאז ה-epoch או כאלפיות שנייה מאז ה-epoch.
כדי להמיר נכון צריך קודם לדעת את היחידה. 1720000000 שניות הן 2024-07-03 09:46:40 UTC. 1720000000000 אלפיות שנייה הן אותו רגע.
חותמת הזמן מזהה רגע. UTC, שעון מקומי או אזור IANA משנים רק איך הרגע הזה מוצג.
זה מדריך המרה: timestamp לתאריך, תאריך ל-timestamp, UTC מול מקומי, ו-ISO 8601. אם ערך הופך במפתיע לתאריך 1970, בדרך כלל זה אי-התאמה של שניות/אלפיות שנייה—ראו Unix Timestamp בשניות מול אלפיות שנייה: למה התאריך מציג 1970.
מהו Unix Timestamp?
Unix timestamp, Unix time ו-epoch time פירושם בדרך כלל הזמן שחלף מאז 1970-01-01 00:00:00 UTC. המספר אינו מחרוזת תאריך מעוצבת עם תווית אזור זמן. אותו רגע יכול להופיע בשעות שעון שונות ב-UTC, בניו יורק, בטוקיו או בסיאול. Unix timestamps אינם תמיד שניות—אלפיות שנייה נפוצות בפועל.
מהו Unix Epoch?
Unix epoch הוא 1970-01-01 00:00:00 UTC. חותמת 0 היא אותו רגע. חותמת חיובית היא אחרי ה-epoch. יש מערכות שמאפשרות חותמת שלילית לזמן שלפני ה-epoch, אבל תמיכת השפה וטווח התאריכים משתנה.
האם ה-timestamp שלי בשניות או באלפיות שנייה?
1720000000 הן שניות; 1720000000000 הן אלפיות שנייה; זה אותו רגע. רמז מעשי: בערך 10 ספרות לרוב שניות, בערך 13 לרוב אלפיות שנייה. מספר הספרות הוא רק היוריסטיקה. תאריכים בעבר או בעתיד, יחידות אחרות או epoch מותאם יכולים להיראות אחרת. ממיר תאריך ושעה יכול להמיר בשניות, באלפיות שנייה או אוטומטית (≤10 ספרות כשניות, ≥13 כאלפיות שנייה)—בחרו את היחידה כשאתם יודעים אותה.
למה יחידה שגויה מייצרת תאריך שגוי?
JavaScript Date מצפה לאלפיות שנייה. העברת 1720000000 כאילו היו אלפיות שנייה נותנת 1970-01-20 21:46:40 UTC. טיפול באלפיות שנייה כשניות, או להפך, נוחת בתאריך שונה מאוד. לנתיב אבחון 1970, ראו Unix Timestamp בשניות מול אלפיות שנייה: למה התאריך מציג 1970.
new Date(1720000000);
// 1970-01-20T21:46:40.000Z
איך ממירים Unix timestamp בשניות
הכפילו שניות ב-1000 כדי לקבל אלפיות שנייה. JavaScript Date מבוסס על אלפיות שנייה, לכן השתמשו ב-new Date(timestamp * 1000).
const timestamp = 1720000000;
const date = new Date(timestamp * 1000);
date.toISOString();
// 2024-07-03T09:46:40.000Z
איך ממירים timestamp באלפיות שנייה
העבירו אלפיות שנייה ל-Date ישירות. אל תכפילו שוב ב-1000 timestamp שכבר באלפיות שנייה.
const timestamp = 1720000000000;
const date = new Date(timestamp);
date.toISOString();
// 2024-07-03T09:46:40.000Z
למה אותו timestamp מציג שעה אחרת?
Unix timestamp הוא רגע אחד. הצגה ב-UTC, בשעון מקומי או באזור IANA שנבחר משנה את פני השעון. עבור 1720000000000, UTC הוא 2024-07-03 09:46:40. America/New_York באותו יום הוא 2024-07-03 05:46:40 (EDT). Asia/Seoul הוא 2024-07-03 18:46:40 (UTC+9). ערכי ניו יורק וסיאול מגיעים מ-Intl, לא מסלוגן היסט קבוע.
האם Unix timestamp מכיל אזור זמן?
לא. הוא לא שומר America/New_York או Asia/Seoul. החותמת מזהה רגע. אזור זמן מוחל כשמעצבים את הרגע כתאריך ושעה קריאים. ה-epoch מוגדר ביחס ל-UTC; המספר עצמו אינו «שדה אזור זמן UTC».
Unix Timestamp מול ISO 8601
1720000000 ו-2024-07-03T09:46:40Z יכולים לייצג את אותו רגע. Unix הוא ערך מספרי של זמן שחלף. ISO 8601 הוא מחרוזת תאריך-שעה קריאה ויכול להסתיים ב-Z (UTC) או בהיסט מספרי. Z פירושו UTC; לפעמים קוראים לזה Zulu. אלה לא אותו פורמט.
איך מקבלים את Unix timestamp הנוכחי?
ב-JavaScript, Date.now() הוא אלפיות שנייה. Math.floor(Date.now() / 1000) הוא שניות. אל תקבעו «עכשיו» קבוע במאמר; הוא זז.
Date.now();
Math.floor(Date.now() / 1000);
אפשר להמיר תאריך בחזרה ל-Unix timestamp?
כן. ממחרוזת ISO UTC מפורשת, getTime() מחזיר אלפיות שנייה; חלקו ב-1000 ועגלו כלפי מטה לשניות.
const date = new Date("2024-07-03T09:46:40Z");
date.getTime();
// 1720000000000
Math.floor(date.getTime() / 1000);
// 1720000000
זהירו מפורמטי תאריך דו-משמעיים
03/07/2024 יכול להיות 7 במרץ או 3 ביולי לפי האזור. העדיפו תאריך ושעה בסגנון ISO עם אזור זמן או היסט. ממיר תאריך ושעה דוחה תאריכים מספריים דו-משמעיים כמו 01/02/2026 ומבקש בורר תאריך או ערך בסגנון ISO.
ומה לגבי שעון קיץ?
Unix timestamp לא שומר דגל שעון קיץ. התצוגה המקומית מחילה את כללי האזור. America/New_York משתמש בהיסטים שונים בחורף ובקיץ, לכן «ניו יורק הוא UTC-5» לא תמיד נכון.
האם Unix timestamps כוללים שניות מעוברות?
זמן POSIX/Unix טיפוסי לא סופר שניות מעוברות כשניות SI נוספות על סולם רציף. פלטפורמות יכולות להשתנות. בהמרה יומיומית אפשר להתעלם מהפרט הזה.
טעויות נפוצות בהמרת Unix timestamp
הבלבולים האלה מייצרים תאריך שגוי או פני שעון שגויים:
שניות שטופלו כאלפיות שנייה
ערך שניות מודרני נוחת אז ליד 1970 ב-JavaScript Date.
אלפיות שנייה שטופלו כשניות
התאריך קופץ רחוק לעתיד.
להתייחס ל-10 או 13 ספרות כחוק
מספר הספרות הוא רמז, לא ערובה.
לבלבל UTC עם שעון מקומי
הרגע זהה; השעון המוצג יכול להשתנות.
להניח שאזור זמן יושב בתוך המספר
שמות IANA מוחלים בזמן התצוגה, לא נשמרים בחותמת.
תאריכים דו-משמעיים, ססמאות שעון קיץ או ×1000 עודף
השתמשו בקלט בסגנון ISO. אל תכפילו שוב timestamp באלפיות שנייה.
דוגמאות UTC מאומתות
שעות השעון האלה ב-UTC חושבו, לא נוחשו:
| קלט | יחידה | UTC |
|---|---|---|
| 0 | שניות | 1970-01-01 00:00:00 |
| 1720000000 | שניות | 2024-07-03 09:46:40 |
| 1720000000000 | אלפיות שנייה | 2024-07-03 09:46:40 |
| 1720000000 | אלפיות שנייה | 1970-01-20 21:46:40 |
מדריך החלטה פשוט להמרה
אם המקור מציין את היחידה, השתמשו בה. אם לא, מספר הספרות הוא רמז—ואז בדקו שהתאריך נראה סביר. המירו שניות לאלפיות שנייה כשה-API צריך ms. בחרו UTC, מקומי או אזור IANA לתצוגה. ISO 8601 שימושי לאחסון ולהחלפה.
- יש Unix timestamp
- יחידה צוינה? השתמשו בה; אחרת בדקו סדר גודל
- שניות? ×1000 אם ה-API צריך אלפיות שנייה
- אלפיות שנייה? השתמשו ישירות ב-API מבוסס ms
- הציגו כ-UTC, מקומי או אזור IANA
- צריך מחרוזת? ISO 8601 עשוי להתאים
החותמת מזהה נקודה בזמן. UTC, שעון מקומי או אזור זמן רק מחליטים איך הרגע הזה מוצג לאדם.
המירו Unix timestamps בדפדפן
NEXNARA ממיר תאריך ושעה ממיר שניות ואלפיות שנייה של Unix, מציג UTC, שעון מקומי ו-ISO 8601, וממיר בין אזורי זמן IANA.
מצב Unix תומך בשניות, אלפיות שנייה, יחידה אוטומטית, זמן נוכחי ותאריך-לחותמת-זמן. מצב אזור זמן מחפש שמות IANA, משתמש באזור הדפדפן ומחיל היסטי Intl מודעי שעון קיץ. למצב פורמט יש פלט קריא לפי אזור, תצוגת 12/24 שעות ושומר מפני תאריך דו-משמעי. הפרש תאריכים הוא מצב נפרד.
ההמרה משתמשת בממשקי Date ו-Intl של הדפדפן. ערכים מחוץ למה ש-Date יכול לייצג נדחים. יחידה אוטומטית לא מנחשת ערכים בני 11–12 ספרות; בחרו שניות או אלפיות שנייה.
המרת התאריך והחותמת עצמה מתרחשת בדפדפן. הקלטים לא נשלחים לשרת NEXNARA לצורך המרה. פרסומות ותכונות אחרות באתר עדיין משתמשות ברשת.
הדביקו timestamp ב-ממיר תאריך ושעה והשוו UTC, שעון מקומי ו-ISO 8601 לפני שבוחרים יחידה.
FAQ
איך ממירים Unix timestamp לתאריך?
דעו את היחידה. לשניות ב-JavaScript השתמשו ב-new Date(n * 1000). לאלפיות שנייה, new Date(n). אחר כך עצבו כ-UTC, מקומי או אזור.
האם Unix timestamp בשניות או באלפיות שנייה?
יכול להיות כל אחד. בערך 10 ספרות לרוב שניות ובערך 13 לרוב אלפיות שנייה, אבל זו היוריסטיקה, לא כלל.
למה ה-timestamp שלי מציג 1970?
בדרך כלל ערך שניות נקרא כאלפיות שנייה. ראו Unix Timestamp בשניות מול אלפיות שנייה: למה התאריך מציג 1970.
האם Unix timestamp תמיד UTC?
ה-epoch מוגדר ביחס ל-UTC, והמספר מזהה רגע. אזור הזמן של התצוגה נפרד. זה לא «שדה אזור זמן UTC» שמור.
האם Unix timestamp מכיל אזור זמן?
לא. הוא לא נושא מזהה IANA. אזור הזמן מוחל כשמעצבים את הרגע.
איך ממירים תאריך ל-Unix timestamp?
ממחרוזת ISO UTC, date.getTime() הוא אלפיות שנייה; Math.floor(date.getTime() / 1000) הוא שניות.