البرمجة

تنسيق وإضافة فترة زمنية في Java

في البداية، يظهر أن لديك كود Java يقوم بإضافة فترة زمنية إلى تاريخ محدد وثم يقوم بتنسيق التاريخ والوقت وإضافتهما إلى قائمة “records” بتنسيق محدد. ومن المفهوم أنك ترغب في فصل التاريخ والوقت بواسطة علامة التبويب ‘\t’.

للقيام بذلك بشكل صحيح، يبدو أنك تحتاج إلى إدراك أن المتغير record الذي تقوم بإضافته إلى القائمة لا يُعيد تهيئته بين كل إضافة جديدة. لحل هذه المشكلة وتحقيق الفصل بين التاريخ والوقت بشكل صحيح، يجب عليك إعادة تهيئة المتغير record داخل الحلقة أو في أي مكان يلائم تنسيق البيانات الذي تسعى إليه.

إليك تعديل بسيط على الكود الخاص بك لتحقيق هذا الهدف:

java
static final String DATE_FORMAT = "yyyy-MM-dd"; static final String TIME_FORMAT = "HH:mm:ss"; private static final int ADD_MINUTES = 2; static final String FromDate = "2016-01-01 00:00:00"; public static void main(String[] args) throws Exception { DateFormat df = new SimpleDateFormat(DATE_FORMAT); DateFormat d_f = new SimpleDateFormat(DATE_FORMAT); DateFormat tf = new SimpleDateFormat(TIME_FORMAT); Calendar cal = Calendar.getInstance(); // يجب إعادة تهيئة المتغير record داخل الحلقة StringBuilder record = new StringBuilder(); cal.setTime(df.parse(FromDate)); cal.add(Calendar.MINUTE, ADD_MINUTES); record.append(d_f.format(cal.getTime())); record.append("\t"); record.append(tf.format(cal.getTime())); record.append("\t"); // يمكنك إضافة record إلى القائمة هنا أو قم بتخزينه بطريقة أخرى حسب احتياجاتك // على سبيل المثال، إضافته إلى قائمة records List records = new ArrayList<>(); records.add(record.toString()); // الآن يمكنك استخدام قائمة records كما تحتاج في المتابعة }

هذا التغيير يضمن أن المتغير record يتم إعادة تهيئته بين كل إضافة جديدة، مما يسمح بتنسيق صحيح للتاريخ والوقت بواسطة علامة التبويب ‘\t’.

المزيد من المعلومات

بالطبع، دعني أضيف المزيد من المعلومات لفهم أعمق حول الكود الذي قدمته. الكود الذي قدمته يستخدم Java لإجراء عمليات تنسيق وإضافة فترة زمنية إلى تاريخ محدد، ثم يقوم بتخزين النتيجة في قائمة (records).

لنقم بتحليل الأكواد بمزيد من التفصيل:

  1. التنسيق:

    • يتم استخدام الفئات SimpleDateFormat لتنسيق التواريخ (df و d_f) والوقت (tf).
    • يستخدم الثوابت DATE_FORMAT و TIME_FORMAT لتحديد تنسيق التاريخ والوقت على التوالي.
  2. التاريخ الأساسي:

    • يتم تحديد تاريخ البداية (FromDate) كـ “2016-01-01 00:00:00”.
  3. العمليات الزمنية:

    • يستخدم Calendar لتنفيذ العمليات الزمنية، حيث يتم تحويل تاريخ البداية إلى Calendar ومن ثم يتم إضافة فترة زمنية محددة (ADD_MINUTES).
  4. تخزين النتيجة:

    • يتم استخدام StringBuilder لبناء سلسلة النصوص (record).
    • يتم إضافة التاريخ والوقت المنسقين بواسطة d_f و tf إلى record، مع فاصلة علامة التبويب ‘\t’ بينهما.
  5. تخزين السجلات:

    • يتم إضافة record إلى قائمة السجلات (records).

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

زر الذهاب إلى الأعلى