اذهب إلى المحتوى
  • 0

التعامل مع الوقت في javascript

منتصر احمد

السؤال

كيف يمكنني ان ااتي بالوقت في javascript بالتحديد الدقيقة والساعه يعني مثلا انا بعملم موقع شبه facebook فكيف يمكنني ان ااتي بالوقت اللي تمت اضافت ال post فيه زي كده image.png.e4f374b065ae3fd6989692857fa1ee40.png

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

يمكنك الحصول على الوقت الحالي في JavaScript باستخدام كائن Date. واستخدام Date.now() للحصول على الوقت الحالي بالميلي ثانية، ثم يمكنك استخدام كائن Date لتحويل الميلي ثانية إلى الوقت الفعلي الذي يمكن عرضه للمستخدم.

على سبيل المثال، إذا كانت تاريخ النشر مخزن في قاعدة البيانات كنص، فباستطاعتك استخدام الكود التالي لتحويل النص إلى تاريخ وعرضه في شكل يحوي الساعة والدقائق:

// تحويل النص إلى تاريخ
const dateString = "2023-03-23T12:34:56Z";
const date = new Date(dateString);

// عرض الوقت في شكل يحوي الساعة والدقائق
const hours = date.getHours();
const minutes = date.getMinutes();
const timeString = hours + ":" + (minutes < 10 ? "0" : "") + minutes;

console.log(timeString); // سيظهر 12:34

يمكنك استخدام هذا الكود لعرض الوقت الذي تمت إضافة الـ post به. واستخدام قيمة Date.now() عند إضافة الـ post لتخزين الوقت الحالي. ثم استخدام الكود السابق لعرض الوقت في صفحة الـ post.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

هنالك مكاتب جاهزة للقيام بهذه العملية lمثل momentjs

وتحصل على الوقت مثل الصورة التي شاركتها بالشكل :

npm install moment --save

 

import moment from 'moment';
moment('2013-03-01', 'YYYY-MM-DD').fromNow();

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

للحصول على الوقت الحالي في JavaScript ، يمكن استخدام الدالة `Date()` التي تُرجع الوقت والتاريخ الحالي من النظام. ويمكن الحصول على الوقت بالساعات والدقائق والثواني من خلال استخدام دوال `getHours()`، `getMinutes()` و `getSeconds()` المتوفرة في كائن التاريخ (Date Object).

لإظهار الوقت والتاريخ بصيغة محددة ، يمكن استخدام العديد من المكتبات الجاهزة، مثل Luxon وmoment.js

لحل المثال الذي ذكرته في سؤالك حول استرداد وقت إضافة المنشور ، فإنك بحاجة إلى تخزين الوقت الحالي عند إنشاء المنشور. ثم يمكن استخدام هذا الوقت في المستقبل لإظهار وقت إضافة المنشور.

أنظر إلى الكود التالي تم كتابته باستخدام باستخدام Luxon Library:

const { DateTime } = require('luxon');

// Get current date and time
const now = DateTime.utc();

// Create a new post and save the timestamp
const post = {
  content: 'المحتوي',
  timestamp: now.toISO(),
};

// Get the timestamp and display in user's timezone
const timestamp = DateTime.fromISO(post.timestamp, { zone: 'local' }).toFormat('dd/MM/yyyy HH:mm:ss');
console.log(timestamp); // (e.g. 07/09/2022 18:29:30")

ولكي يعمل معك الكود يجب عليك تثبيت مكتبة Luxon من خلال هذا الأمر.

npm i Luxon 

أنصحك بتصفح هذه المقالة فهي تشرح الموضوع بالتفصيل.

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

بما أنك تقوم بإنشاء موقع social إذا ستحتاج للتعامل مع الوقت والتواريخ في كثير من الأماكن وبمعالجة مختلفة لذلك يعتبر الأفضل هو استخدام المكتبات الجاهزة وهناك الكثير منها ولكن الأفضل

  • Moment.js : هي واحدة من أقدم وأشهر المكتبات ذات الصلة بالتاريخ لكل من Node.js و vanilla Javascript (مما يجعلها متوافقة مع المستعرض) متوفر في العديد من البيئات المختلفة ومديري الحزم المختلفين بما في ذلك npm و yarn و NuGet و spm و meteorمستقر وموثوق للغاية ولكن تعتبر بطيئة نسبياً وحجمها كبير مقارنة بالمكتبات الأخرى
  • date-fns : يوفر date-fns مجموعة الأدوات الأكثر شمولاً وبساطة وثباتًا للتعامل مع تواريخ JavaScript في المستعرض و Node.js
  • dayJS :  هو نسخة مصغرة من Moment.js. يستخدم DayJS نفس واجهة برمجة التطبيقات الخاصة بـ Moment.js ولكنه يقلل حجم ملفه بنسبة 97٪
رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 3 ساعة قال عمر قره محمد:

هنالك مكاتب جاهزة للقيام بهذه العملية lمثل momentjs

وتحصل على الوقت مثل الصورة التي شاركتها بالشكل :

npm install moment --save

 

import moment from 'moment';
moment('2013-03-01', 'YYYY-MM-DD').fromNow();

 

عملت كده ولكن الوقت ثابت image.png.d83c7704f23ad3525b02d0a10b2286ff.pngimage.png.3c7733856d71aeb3d17862b33c216ca2.png

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 18 دقائق مضت قال محمد منتصر6:

عملت كده ولكن الوقت ثابت image.png.d83c7704f23ad3525b02d0a10b2286ff.pngimage.png.3c7733856d71aeb3d17862b33c216ca2.png

بالتأكيد سيكون ثابت بما انه بالساعات، ستحتاج للإنظار لساعة حتى يتغير.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...