كيفية الحصول على الطابع الزمني الحالي في JavaScript

اكتشف الطرق التي يوفرها لك JavaScript لإنشاء الطابع الزمني الحالي لـ UNIX


الطابع الزمني UNIX هو عدد صحيح يمثلthe number of seconds elapsed since January 1 1970.

على الأجهزة المشابهة لـ UNIX ، والتي تتضمن Linux و macOS ، يمكنك الكتابةdate +%sفي المحطة واستعادة طابع UNIX الزمني:

$ date +%s
1524379940

يمكن جلب الطابع الزمني الحالي عن طريق استدعاءnow()طريقة علىDateموضوع:

Date.now()

يمكنك الحصول على نفس القيمة عن طريق الاتصال

new Date().getTime()

or

new Date().valueOf()

ملاحظة: IE8 وما يليها لا تملكnow()طريقة علىDate. ابحث عن polyfill إذا كنت بحاجة إلى دعم IE8 وما دونه ، أو استخدامهnew Date().getTime()لوDate.nowغير محدد (لأن هذا ما سيفعله polyfill)

يتم التعبير عن الطابع الزمني في JavaScript بـمللي ثانية.

للحصول على الطابع الزمني معبرًا عنه بالثواني ، قم بتحويله باستخدام:

Math.floor(Date.now() / 1000)

ملاحظة: تستخدم بعض الدروسMath.round()، ولكن هذا سيقترب من الثانية التالية حتى لو لم تكتمل الثانية بالكامل.

أو ، أقل قابلية للقراءة:

~~(Date.now() / 1000)

لقد رأيت دروسًا عن استخدام ملفات

+new Date

والذي قد يبدو بيانًا غريبًا ، لكنه كود JavaScript صحيح تمامًا. العامل أحادي +يستدعي تلقائيًاvalueOf()طريقة على أي كائن تم تعيينه إليه ، والتي تُرجع الطابع الزمني (بالمللي ثانية). تكمن مشكلة هذا الرمز في أنك تقوم بإنشاء مثيل لكائن تاريخ جديد يتم تجاهله على الفور.

لإنشاء تاريخ من طابع زمني ، استخدمnew Date(<timestamp>)ولكن تأكد من تمرير رقم (ستحصل على سلسلة نتيجة "تاريخ غير صالح" - استخدمparseInt()في شك)


المزيد من دروس js: