Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

استخدام LocalDateTime

جزء من قسم Logic & Flow في رحلة Java على Coddy — الدرس 56 من 59.

يجمع LocalDateTime في Java بين كل من التاريخ والوقت. إنه مفيد عندما تحتاج إلى العمل مع كلا المكونين، مثل جداول الأحداث أو الطوابع الزمنية.

إنشاء التاريخ والوقت الحالي

LocalDateTime now = LocalDateTime.now();

إنشاء تاريخ ووقت محددين:

LocalDateTime dateTime = LocalDateTime.of(2024, 3, 15, 14, 30);
// 2024-03-15 14:30

بعد تنفيذ الكود أعلاه، يحتوي dateTime على:

2024-03-15T14:30

تنسيق التاريخ والوقت:

LocalDateTime dateTime = LocalDateTime.of(2024, 3, 15, 14, 30);
String formatted = dateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm"));
challenge icon

التحدي

سهل

قم بإنشاء طريقة تسمى processDateTime تأخذ أربعة وسائط:

  1. سلسلة نصية (dateTimeStr) بالتنسيق "yyyy-MM-dd HH:mm"
  2. عدد صحيح (amount) للإضافة أو الطرح
  3. سلسلة نصية (unit) إما "hours" أو "days" أو "months"
  4. سلسلة نصية (operation) إما "add" أو "subtract"

يجب أن تقوم الطريقة بـ:

  1. تحليل سلسلة التاريخ والوقت المدخلة
  2. إجراء العملية المحددة
  3. إرجاع معلومات منسقة حول النتيجة

يجب أن تكون رسائل الإرجاع:

  • إذا كان التنسيق غير صالح: أرجع "Invalid date time format"
  • إذا كانت الوحدة غير صالحة: أرجع "Invalid unit"
  • إذا كانت العملية غير صالحة: أرجع "Invalid operation"
  • في حالة النجاح: أرجع "Original: [datetime], New: [new_datetime], Day: [day_name]"

ورقة مرجعية

يجمع LocalDateTime بين كل من التاريخ والوقت في Java.

إنشاء التاريخ والوقت الحاليين:

LocalDateTime now = LocalDateTime.now();

إنشاء تاريخ ووقت محددين:

LocalDateTime dateTime = LocalDateTime.of(2024, 3, 15, 14, 30);
// النتيجة هي: 2024-03-15T14:30

تنسيق التاريخ والوقت:

LocalDateTime dateTime = LocalDateTime.of(2024, 3, 15, 14, 30);
String formatted = dateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm"));

جرّب بنفسك

import java.util.Scanner;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeParseException;

public class Main {
    public static String processDateTime(String dateTimeStr, int amount, String unit, String operation) {
        // اكتب الكود الخاص بك هنا
    }
    
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String dateTimeStr = scanner.nextLine();
        int amount = Integer.parseInt(scanner.nextLine());
        String unit = scanner.nextLine();
        String operation = scanner.nextLine();
        
        System.out.println(processDateTime(dateTimeStr, amount, unit, operation));
    }
}
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس Logic & Flow