استخدام 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"));التحدي
سهلقم بإنشاء طريقة تسمى processDateTime تأخذ أربعة وسائط:
- سلسلة نصية (
dateTimeStr) بالتنسيق "yyyy-MM-dd HH:mm" - عدد صحيح (
amount) للإضافة أو الطرح - سلسلة نصية (
unit) إما "hours" أو "days" أو "months" - سلسلة نصية (
operation) إما "add" أو "subtract"
يجب أن تقوم الطريقة بـ:
- تحليل سلسلة التاريخ والوقت المدخلة
- إجراء العملية المحددة
- إرجاع معلومات منسقة حول النتيجة
يجب أن تكون رسائل الإرجاع:
- إذا كان التنسيق غير صالح: أرجع "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));
}
}يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Logic & Flow
1المصفوفات متعددة الأبعاد
أساسيات المصفوفات ثنائية الأبعادالوصول إلى عناصر المصفوفات ثنائية الأبعادالحلقات المتداخلة مع المصفوفات ثنائية الأبعادمراجعة - المصفوفات ثنائية الأبعادجمع وطرح المصفوفاتالمصفوفات المتعرجة (Jagged Arrays)المصفوفات ثلاثية الأبعاد وما بعدهاأنماط المصفوفات ثنائية الأبعاد الشائعةمراجعة - كل شيء عن المصفوفات4HashSet الجزء الأول
ما هو الـ HashSet؟إضافة عنصرحذف عنصرالتحقق من وجود عنصرالفراغ والحجمالمسح والنسخملخص - HashSet10التاريخ والوقت
أساسيات LocalDateعمليات LocalTimeاستخدام LocalDateTimePeriod و Durationتنسيق التاريخالتعامل مع المناطق الزمنية2HashMap الجزء الأول
ما هو الـ HashMap؟تعريف الـ HashMapالوصول إلى القيمالتحقق من وجود المفتاحتعديل القواميسملخص - HashMap3HashMap الجزء الثاني
دوال HashMapالتكرار باستخدام keySet()التكرار باستخدام entrySet()HashMap متداخلمراجعة - إدارة المستودعمراجعة - عمليات HashMap6التحكم المتقدم في تدفق البرنامج
العبارات المعنونةتعبير Switchمطابقة الأنماطجمل الحمايةمراجعة - تدفق التحكم