ما هو الطابع الزمني (Timestamp)؟

الطابع الزمني (Timestamp) هو تاريخ ووقت محدد “مختوم” على سجل أو ملف رقمي. في حين أن كلمة “الطابع الزمني” تستخدم غالبًا كإسم، إلا أنها يمكن أن تكون فعلًا أيضًا.
على سبيل المثال، “تم وضع الطابع الزمني للتغريدة في 8 يناير 2021 الساعة 10:44 صباحًا”. الطوابع الزمنية هي الطريقة القياسية لتخزين التواريخ والأوقات على أنظمة الكمبيوتر.
على سبيل المثال، تقوم أنظمة التشغيل بوضع طابع زمني على كل ملف بتاريخ ووقت تم إنشاؤه وتعديله. الطابع الزمني للكاميرات الرقمية لكل صورة تم التقاطها.
تقوم منصات التواصل الاجتماعي بتخزين طابع زمني مع كل مشاركة، مثل مثال تويتر أعلاه. على الرغم من أن الطوابع الزمنية عالمية، إلا أنه لا يوجد تنسيق عالمي للطوابع الزمنية.
كما قد تستخدم لغة البرمجة طريقة واحدة، بينما قد تستخدم قاعدة البيانات طريقة أخرى. حتى أنظمة التشغيل لديها طرق مختلفة لتخزين الطوابع الزمنية.
على سبيل المثال، يستخدم Windows معيار ANSI ويخزن الطوابع الزمنية على هيئة عدد الثواني منذ 1 يناير 1601. ويخزن Unix الطوابع الزمنية على أنها عدد الثواني التي انقضت منذ منتصف ليل 1 يناير 1970.
نظرًا لوجود العديد من تنسيقات الطوابع الزمنية المختلفة، فإن معظم تنسيقات الطوابع الزمنية الحديثة تحتوي لغات البرمجة على وظائف تحويل الطابع الزمني المضمنة.
الطابع الزمني في أنظمة يونكس.
يُعرف الطابع الزمني لنظام Unix أيضًا باسم “وقت العصر”، وهو ما يعادل عدد الثواني منذ 1 يناير 1970، الساعة 12:00 صباحًا بتوقيت جرينتش (توقيت جرينتش).
قد يتم عرض التاريخ/الوقت بتوقيت جرينتش (أو “UTC”) افتراضيًا على أجهزة Unix وLinux (بما في ذلك Android) عندما لا يتوفر طابع زمني صالح. في نصف الكرة الغربي، مثل الولايات المتحدة، سيظهر هذا التاريخ على أنه 31 ديسمبر 1969.
يعد تخزين الطابع الزمني كعدد صحيح أمرًا فعالاً لأنه يتطلب الحد الأدنى من مساحة التخزين. ومع ذلك، يجب تحويل الرقم إلى تنسيق زمني واضح عند عرضه.
يحتوي MySQL على نوع بيانات TIMESTAMP، والذي يقوم بتخزين الطوابع الزمنية بشكل ملائم بالتنسيق التالي:
YYYY-MM-DD HH:MM:SS
يقوم MySQL بتخزين الطوابع الزمنية بالتوقيت العالمي المنسق (UTC). لذا، سيتم تخزين 16 يناير 2021 الساعة 10:15:30 صباحًا بالتوقيت المركزي للولايات المتحدة في قاعدة بيانات MySQL على النحو التالي:
2021-01-16 16:15:30
إذا تم تحويله إلى طابع زمني في Linux، فسيتم تمثيل هذا الوقت/التاريخ على النحو التالي:
1610813730
تحتوي الطوابع الزمنية أيضًا على دقة أو خصوصية مختلفة. في بعض الحالات، تكون الثواني كافية، بينما في حالات أخرى، تكون هناك حاجة إلى ميلي ثانية أو حتى نانو ثانية.
سيكون الطابع الزمني لنظام التشغيل Linux أعلاه هو 1610813730000 بالمللي ثانية، مما يوفر دقة تبلغ جزءًا من الألف من الثانية. قد تتطلب عمليات الحوسبة طوابع زمنية بدقة أعلى.
تتضمن PHP دالة microtime() التي تقوم بإخراج طابع زمني بالميكروثانية، بدقة تصل إلى جزء من المليون من الثانية.