Java:
חישוב תאריך בעתיד או בעבר
איך לעשות:
התעלול הוא להשתמש בjava.time, ספריית הזמן החדשה בJava. קוד לדוגמה:
import java.time.LocalDate;
import java.time.Period;
public class DateCalc {
public static void main(String[] args) {
LocalDate today = LocalDate.now();
Period tenDays = Period.ofDays(10);
LocalDate futureDate = today.plus(tenDays);
LocalDate pastDate = today.minus(tenDays);
System.out.println("Today: " + today);
System.out.println("10 days from now: " + futureDate);
System.out.println("10 days ago: " + pastDate);
}
}תוצאה:
Today: 2023-04-12
10 days from now: 2023-04-22
10 days ago: 2023-04-02עיון נוסף
במקום להשתמש בjava.util.Date הישן והפחות אינטואיטיבי, החל מ-Java 8 יש לנו את java.time. לפני החידוש הזה, היינו צריכים להילחם עם ה-API הישן של פעולות תאריך וזמן. כיום, ‘java.time’ מכילה אובייקטים כמו LocalDate, LocalTime, LocalDateTime, וZonedDateTime, שמאפשרים עבודה נוחה עם תאריכים וזמנים בצורה בטיחותית לאזורי זמן. אם אתם צריכים לחשב פערים גדולים של זמן או לעבוד עם זמנים מדויקים למילישניות, עליכם לבחור באובייקט מתאים ב-‘java.time’. לא מומלץ להשתמש במחלקות ישנות אלא אם כן אתם עובדים עם קוד שכבר כתוב ומתבסס עליהן.
גם כדאי לראות
- Java Date Time API
- java.time.LocalDate documentation
- java.time.Period documentation
- Joda-Time - אף על פי שהמסגרת הזו שימשה רבים לפני יצירת
java.time, היא עדיין רלוונטית לקוד ישן.