Menu
Coddy logo textTech

עיצוב תאריכים

חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-Java של Coddy. שיעור 58 מתוך 59.

‏DateTimeFormatter ב-Java מאפשר לך לעצב תאריכים ושעות בתבניות שונות. אפשר להשתמש בו עם LocalDate, LocalTime ו-LocalDateTime.

יצירת מעצב עם תבנית מסוימת:

DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");

עצב תאריך באמצעות המעצב:

LocalDate date = LocalDate.of(2024, 3, 15);
String formatted = date.format(formatter);

לאחר הרצת הקוד שלמעלה, formatted מכיל:

2024-03-15

נתח מחרוזת לתאריך:

String dateStr = "2024-03-15";
LocalDate date = LocalDate.parse(dateStr, formatter);
challenge icon

אתגר

קל

צרו מתודה בשם formatDate שמקבלת שלושה ארגומנטים:

  1. מחרוזת (dateStr) בפורמט "yyyy-MM-dd"
  2. מחרוזת (inputPattern) שהיא תבנית תאריך הקלט
  3. מחרוזת (outputPattern) שהיא תבנית הפלט הרצויה

המתודה צריכה:

  1. לנתח את תאריך הקלט באמצעות תבנית הקלט
  2. לעצב אותו באמצעות תבנית הפלט
  3. לטפל בתבניות הבאות:
    • "basic": "yyyy-MM-dd"
    • "long": "MMMM d, yyyy"
    • "short": "MM/dd/yy"
    • "custom": מחרוזת התבנית בפועל

הודעות ההחזרה צריכות להיות:

  • אם התאריך לא תקין: להחזיר "Invalid date format"
  • אם התבנית לא תקינה: להחזיר "Invalid pattern"
  • במקרה של הצלחה: להחזיר את התאריך המעוצב

נסו בעצמכם

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

public class Main {
    public static String formatDate(String dateStr, String inputPattern, String outputPattern) {
        // כתבו את הקוד שלכם כאן
    }
    
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String dateStr = scanner.nextLine();
        String inputPattern = scanner.nextLine();
        String outputPattern = scanner.nextLine();
        
        System.out.println(formatDate(dateStr, inputPattern, outputPattern));
    }
}
quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

כל השיעורים ביחידה לוגיקה וזרימת תוכנית

תרגלו בעצמכם: קומפיילר Java אונליין