חותמת זמן או חותמת זמן היא השעה הנוכחית שבה אירוע מבוצע (או מוקלט) על ידי מחשב או מצלמה דיגיטלית. התאריך והשעה הנוכחיים נרשמים לקובץ ומתעדים כאשר נתונים נוצרים, מופעלים, משתנים או מסירים. מחשב מתעד את התאריך והשעה שבהם מתבצעת פעולה על מסמך או תיקיה. דוגמה נוספת לחותמת זמן היא שמצלמה דיגיטלית מתעדת את התאריך והשעה של תמונה בלחיצה.
אנו יכולים להמיר חותמת זמן של UNIX לפורמטים של תאריך ושעה הניתנים לקריאה על ידי אדם בשפות תכנות שונות. כאן, נדון כיצד להמיר חותמת זמן לתאריך בשפות תכנות שונות.
1. חותמת זמן עד תאריך ב-JavaScript
כל הפונקציה שעובדת עם תאריך ושעה ב-JavaScript משתמשת באובייקט Date() ובשיטות שלו. האובייקט Date מציע דרכים שונות לקבל את חותמת הזמן הנוכחית של המחשב ב-JavaScript. JavaScript נותן ומחזיר את תוצאת חותמת הזמן של המכונה במיקרו-שניות מאז 1 בינואר 1970 00:00:00 UTC.
קבל את השעה הנוכחית ב-JavaScript:
ב-JavaScript, כאשר אובייקט Date נוצר ללא כל ארגומנט הוא משתמש בשעה הנוכחית, ולכן באמצעות הקוד שלהלן נקבל את חותמת הזמן הנוכחית של המכשיר.
current_timestamp.html
var timestamp = new Date().getTime()/1000; document.write(timestamp);
פתח את הקובץ בכל דפדפן נתמך ותראה את חותמת הזמן הנוכחית.
תְפוּקָה
JavaScript מציע מספר פונקציות להמרת חותמות זמן לתאריך ושעה בפורמט אחר שבני אדם יכולים לקרוא. הפונקציות הללו הן כדלקמן:
פוּנקצִיָה | תיאור |
---|---|
toDateString | זה ממיר את חלק התאריך של אובייקט ה-Date למחרוזת הניתנת לקריאה על ידי אדם. |
toTimeString | זה ממיר את חלק הזמן של אובייקט התאריך כך שבני אדם יוכלו לקרוא אותו. |
toString | זה ממיר את האובייקט Date לערך מחרוזת. |
toLocaleString | הוא ממיר את אובייקט ה-Date למחרוזת, באמצעות מוסכמות מקומיות. |
toLocaleDateString | הוא מחזיר את התאריך היחיד של אובייקט ה-Date בתבנית מחרוזת, תוך שימוש במוסכמות מקומיות. |
toLocaleTimeString | הוא מחזיר רק את השעה של אובייקט ה-Date בתבנית מחרוזת, תוך שימוש במוסכמות מקומיות. |
לJSON | הוא מחזיר את התאריך כנתוני JSON בפורמט מחרוזת. |
toISOSstring | הוא מחזיר את התאריך כמחרוזת, תוך שימוש בתקן ISO. |
toUTCString() | הוא ממיר את אובייקט ה-Date למחרוזת המבוססת על זמן אוניברסלי. |
המר חותמת זמן לתאריך ב-JavaScript
Timestamp_to_date.html
var timestamp = Date.now()/1000; document.write(timestamp);//current timestamp var datetime = new Date(timestamp * 1000); document.write(' <br>'); document.write(datetime); document.write(' <br>'); document.write(datetime.toDateString()); document.write(' <br>'); document.write(datetime.toTimeString()); document.write(' <br>'); document.write(datetime.toString()); document.write(' <br>'); document.write(datetime.toLocaleString()); document.write(' <br>'); document.write(datetime.toLocaleDateString());
תְפוּקָה
2. חותמת זמן עד תאריך ב-Java
ב Java , ניתן להמיר בקלות חותמת לתאריך באמצעות בנאי של המחלקה java.util.Date. בנאי של המחלקה Date לוקח פרמטר בעל ערך ארוך. לכן, יש צורך להמיר אובייקט חותמת זמן לערך ארוך באמצעות getTime() שיטה של java.sql.Timestamp מעמד.
א) המרת חותמת זמן לתאריך ב-Java באמצעות בנאי תאריך
על ידי העברת ה חותמת זמן אובייקט ל-Date constructor, נוכל להמיר את ערך חותמת הזמן הנוכחי של המכשיר לתאריך. שקול את הדוגמה הבאה:
import java.sql.Timestamp; import java.util.Date; public class TimestampToDateExample1 { public static void main(String args[]){ Timestamp timestamp = new Timestamp(System.currentTimeMillis()); Date date = new Date(timestamp.getTime()); System.out.println(date); } }
תְפוּקָה
ב) המרת חותמת זמן לתאריך ב-Java באמצעות הפניה לתאריך
אנחנו יכולים אפילו לקבל את סוג התאריך פשוט על ידי הקצאת אובייקט חותמת הזמן להפניה לתאריך.
import java.sql.Timestamp; import java.util.Date; public class TimestampToDateExample2 { public static void main(String args[]){ Timestamp timestamp = new Timestamp(System.currentTimeMillis()); Date date = timestamp; System.out.println(date); } }
תְפוּקָה
ג) המרת חותמת זמן לתאריך ב-Java באמצעות מחלקת לוח שנה
ה getInstance() שיטה של java.util.Calendar class היא שיטה סטטית, המשמשת עם אובייקט לוח שנה כדי לקבל את המופע של לוח שנה בהתבסס על אזור הזמן הנוכחי שנקבע על ידי Java Runtime Environment.
import java.sql.Timestamp; import java.util.Calendar; import java.util.Date; public class TimestampToDateExample3 { public static void main(String args[]){ Timestamp timestamp = new Timestamp(System.currentTimeMillis()); Calendar calendar = Calendar.getInstance(); calendar.setTimeInMillis(timestamp.getTime() ); System.out.println(calendar.getTime()); } }
תְפוּקָה
3. חותמת זמן עד תאריך ב- Python
פִּיתוֹן יש כמה מודולים כמו זמן, תאריך ושעה ו לוּחַ שָׁנָה העוסקים בפורמטים שונים של תאריכים ושעות. חותמת זמן של UNIX חלפה אלפי שניות בין תאריך ושעה מסוימים מאז 1 בינואר 1970, ב-UTC. נוכל לקבל חותמות זמן אלו ולהמיר אותן לתאריך ולשעה הנוכחיים.
קבל חותמת זמן נוכחית באמצעות זמן מודול
המודול זְמַן נותן שיטות רבות הקשורות לזמן; אחד מהם הוא זְמַן שמחזיר את מספר השניות מאז התקופה.
import time; timestamp = time.time(); print(timestamp);
צילום מסך ופלט
קבל חותמת זמן נוכחית באמצעות מודול תאריך ושעה
המודול תאריך שעה מספק מחלקות שמתפעלות תאריך ושעה באופן מונחה עצמים. מודול אחד כזה הוא datetime.datetime.now שמחזיר את מספר השניות מאז התקופה במיקרו-שניות.
15 מתוך 100.00
import datetime; timestamp = datetime.datetime.now().timestamp(); print(timestamp);
צילום מסך ופלט
קבל חותמת זמן נוכחית באמצעות לוח השנה של המודול:
פייתון מציעה גם א לוּחַ שָׁנָה מודול כדי לקבל את חותמת הזמן הנוכחית. באמצעות מודול לוח השנה, נשתמש ב- timegm שיטה לקבלת חותמת זמן. עם זאת, לא מומלץ להשתמש במודול לוח שנה כי תאבד כמה אלפיות שניות או ננו שניות.
import time; timestamp = calendar.timegm(time.gmtime()); print(timestamp);
צילום מסך ופלט
המר חותמת זמן ל-DateTime ב-Python
אנחנו פשוט נשתמש ב- מחותמת זמן שיטה של א תאריך שעה מודול כדי לקבל את התאריך מחותמת זמן UNIX. השיטה datetime.fromtimestamp() לוקח את ערך חותמת הזמן כפרמטר קלט ומחזיר את התוצאה של התאריך והשעה המקומיים הנוכחיים.
import time; import datetime; from datetime import datetime; timestamp = time.time(); print(timestamp); # 1610524738.8164573 date_obj = datetime.fromtimestamp(timestamp); print('current date and time:', date_obj); # current date and time: 2021-01-13 13:28:58.816457
צילום מסך ופלט
המר חותמת זמן לתאריך מעוצב ב- Python
כדי לקבל תאריך ושעה בפורמט ספציפי אתה יכול להשתמש strftime שיטה. ה strftime() שיטה ממירה אובייקטי תאריך-שעה לפורמט מחרוזת שצוין.
דוגמה 1:
import time; from datetime import datetime; timestamp = time.time(); print(timestamp); # 1610527190.912418 date_obj = datetime.fromtimestamp(timestamp).strftime('%d-%m-%Y'); print('current date:', date_obj); # current date: 13-01-2021
צילום מסך ופלט
דוגמה 2:
import time; timestamp = time.gmtime(); date_time1 = time.strftime('%d-%m-%Y %H:%M:%S', timestamp); date_time2 = time.strftime('%x %X', timestamp); date_time3 = time.strftime('%c', timestamp); print(date_time1); # 13-01-2021 09:19:44 print(date_time2); # 01/13/21 09:19:44 print(date_time3); # Wed Jan 13 09:19:44 2021
צילום מסך ופלט
4. חותמת זמן עד תאריך ב-PHP
אנו יכולים להמיר בקלות חותמת זמן לתאריך/שעה באמצעות מובנה תאריך שעה() , פונקציות. ניתן להמיר חותמת זמן של UNIX לכל פורמט תאריך שצוין ב PHP . ישנן דרכים רבות לקבל ערך חותמת זמן נוכחי ב-PHP. פונקציות אלה מחזירות את התאריך והשעה בתבנית מחרוזת שצוינה.
זמן() : ה זְמַן() function היא אחת הפונקציות הפופולריות והנפוצות כדי לקבל חותמת זמן נוכחית ב-PHP. פונקציה זו אינה דורשת שום ארגומנט כדי לקבל ערך חותמת זמן.
$current_timestamp = time();
strtotime() : ה strtotime() הפונקציה משמשת בעיקר כדי לקבל ערך חותמת זמן של UNIX. ישנן מספר מחרוזות תאריך או שעה נתמכות שניתן להעביר כארגומנט בפונקציה זו (כגון 'יום ראשון הבא', '+1 שבוע', '+10 שעות', 'עכשיו' וכו'). פרמטר המחרוזת 'עכשיו' ב strtotime() הפונקציה מחזירה חותמת זמן נוכחית.
$current_timestamp = strtotime('now');
mktime(): ה mktime() הפונקציה משמשת גם להחזרת חותמת זמן של UNIX אך היא דורשת קבוצה של פרמטרים של תאריך כגון שעה, דקה, שנייה, חודש, יום, שנה.
$current_timestamp = mktime(date('H'),date('i'),date('s'),date('m'),date('d'),date('Y'));
קבל חותמת זמן נוכחית ב-PHP
<?php $current_timestamp_using_time = time(); echo 'timestamp using time(): $current_timestamp_using_time'; echo '</br>'; $current_timestamp_using_strtotime = strtotime('now'); echo 'timestamp using strtotime(): $current_timestamp_using_strtotime'; $current_timestamp_using_kmtime = mktime(date('H'),date('i'),date('s'),date('m'),date('d'),date('Y')); echo '<br>'; echo 'timestamp using mktime(): $current_timestamp_using_kmtime'; ?>
תְפוּקָה
timestamp using time(): 1610540287 timestamp using strtotime(): 1610540287 timestamp using mktime(): 1610540287
קבל חותמת זמן נוכחית במיקרו-זמן באמצעות הפונקציה microtime().
תְפוּקָה
1610541098.9467
קבל חותמת זמן נוכחית באמצעות מחלקה DateTime
PHP תאריך שעה class מספקת גישה מונחה עצמים לתמרן תאריך ושעה.
format('U'); echo '<br>'; $timestamp2 = new Datetime('now'); echo $timestamp2->format('U'); ?>
תְפוּקָה
1610541454 1610541454
המר חותמת זמן נוכחית לתאריך ב-PHP
<?php echo date('m/d/Y', time()); echo '</br>'; echo date('m/d/Y H:i:s', microtime(true)); echo '<br>'; $timestamp1 = new Datetime(); echo date('d/m/Y', $timestamp1->format('U')); ?>
תְפוּקָה
01/13/2021 01/13/2021 12:36:25 13/01/2021
להלן כמה פורמטים קריאים שונים של תאריך ב-PHP.
mm/dd/yyyy | $date = date('m/d/Y', $current_timestamp); |
dd/mm/yyyy | $date = date('d/m/Y', $current_timestamp); |
עם הזמן | $date = date('d F Y H:i:s', $current_timestamp); |
בלי זמן | $date = date('d F Y', $current_timestamp); |
5. חותמת זמן עד תאריך ב-MySQL
ב MySQL , הפונקציה FROM_UNIXTIME() ממירה ערך חותמת זמן לתאריך ושעה. הפונקציה FROM_UNIXTIME() מחזירה סוגים שונים של תוצאת נתונים/זמן והפורמט שלה מבוסס על פרמטרים שהועברו בה. השאילתות האלה הן:
שאילתת MySQL | תוֹצָאָה |
---|---|
SELECT UNIX_TIMESTAMP(NOW()) (כאן עכשיו() הוא אופציונלי) | מחזירה את זמן העידן הנוכחי |
בחר UNIX_TIMESTAMP(CURDATE()) | חוזר היום תאריך חצות |
בחר UNIX_TIMESTAMP(DATE_ADD(CURDATE(),INTERVAL -1 DAY)) | חוזר אתמול בתאריך חצות |
SELECT UNIX_TIMESTAMP(CONCAT(YEAR(CURDATE()),'-01-01')) | מחזיר 1 בינואר של השנה הנוכחית |
בחר UNIX_TIMESTAMP(מחרוזת זמן) | הוא ממיר תאריך לזמן עידן, ופורמט הזמן שלו הוא YYYY-MM-DD HH:MM:SS או YYMMDD או YYYYMMDD |
SELECT FROM_UNIXTIME (חותמת תקופה, פורמט פלט אופציונלי) | הוא ממיר זמן עידן לתאריך; תבנית היציאה היא YYYY-MM-DD HH:MM:SS |
בואו ננסה את הפונקציה הזו בדוגמה להמרת חותמת זמן לתאריך או לתאריך/שעה. בהתחלה, ניצור טבלה פשוטה עם עמודה של int סוּג. לאחר מכן, אנו ממירים אותו לחותמת זמן ולאחר מכן לתאריך/שעה.
יצירת טבלה:
mysql> CREATE TABLE TimestamptoDateTable (CurrentTimeStamp int(11));
שאילתה ופלט
הכנסת רשומות חותמת זמן:
mysql> INSERT INTO TimestamptoDateTable VALUES(1610543287);
שאילתה ופלט
הצג את כל הרשומות של טבלה:
mysql> SELECT * FROM TimestamptoDateTable;
שאילתה ופלט
תחביר להמרת חותמת זמן לתאריך/שעה קריא:
mysql> SELECT from_unixtime(yourColumnName) from yourTableName;
המר חותמת זמן לתאריך/שעה קריא:
mysql> SELECT FROM_UNIXTIME(CurrentTimeStamp) from TimestamptoDateTable;
שאילתה ופלט
תחביר להמרת חותמת הזמן לעיל לזמן תאריך מעוצב:
mysql> SELECT FROM_UNIXTIME(YourColumnName, '%Y %D %M %h:%i:%s') FROM YourTableName;
המר חותמת זמן לתבנית תאריך זמן:
mysql> SELECT FROM_UNIXTIME(CurrentTimeStamp, '%Y %D %M %h:%i:%s') FROM TimestamptoDateTable;
שאילתה ופלט