import java.time.LocalDate;
public class DateComparisonExample {
public static void main(String[] args) {
// 例ã¨ã—ã¦ã€æ¯”較ã™ã‚‹2ã¤ã®æ—¥ä»˜ã‚’作æˆ
LocalDate date1 = LocalDate.of(2023, 1, 15);
LocalDate date2 = LocalDate.of(2023, 5, 1);
// æ—¥ä»˜ã®æ¯”較
if (date1.isBefore(date2)) {
System.out.println("date1ã¯æœªæ¥ã§ã™ã€‚");
} else if (date1.isAfter(date2)) {
System.out.println("date1ã¯éŽåŽ»ã§ã™ã€‚");
} else {
System.out.println("date1ã¨date2ã¯åŒã˜æ—¥ä»˜ã§ã™ã€‚");
}
}
}
ã“ã®ãƒ—ãƒã‚°ãƒ©ãƒ ã§ã¯ã€LocalDate クラス㮠isBefore() メソッド㨠isAfter() メソッドを使用ã—ã¦ã€2ã¤ã®æ—¥ä»˜ã‚’比較ã—ã¦ã„ã¾ã™ã€‚isBefore() メソッドã¯ã€æŒ‡å®šã—ãŸæ—¥ä»˜ã‚ˆã‚Šå‰ã®æ—¥ä»˜ã§ã‚れ㰠true ã‚’è¿”ã—ã€isAfter() メソッドã¯ã€æŒ‡å®šã—ãŸæ—¥ä»˜ã‚ˆã‚Šå¾Œã®æ—¥ä»˜ã§ã‚れ㰠true ã‚’è¿”ã—ã¾ã™ã€‚ã“れã«ã‚ˆã‚Šã€ã©ã¡ã‚‰ãŒæœªæ¥ã‹éŽåŽ»ã‹ã‚’判定ã—ã¦ã„ã¾ã™ã€‚
LocalDateクラス
java.time.LocalDate クラスã¯ã€Java 8ã‹ã‚‰å°Žå…¥ã•ã‚ŒãŸæ—¥ä»˜æƒ…å ±ã‚’è¡¨ã™ã‚¯ãƒ©ã‚¹ã§ã™ã€‚以下ã«ã€LocalDate クラスã®ä¸»ãªç‰¹å¾´ã¨ä½¿ã„æ–¹ã«ã¤ã„ã¦è§£èª¬ã—ã¾ã™ã€‚
主ãªç‰¹å¾´:
- 日付ã®ã¿ã‚’扱ã†:
LocalDateクラスã¯ã€æ™‚刻をå«ã¾ãªã„æ—¥ä»˜æƒ…å ±ã‚’è¡¨ç¾ã—ã¾ã™ã€‚ã¤ã¾ã‚Šã€å¹´ã€æœˆã€æ—¥ã®æƒ…å ±ã ã‘ãŒä¿æŒã•れã¾ã™ã€‚
- イミュータブル:
LocalDateインスタンスã¯ã‚¤ãƒŸãƒ¥ãƒ¼ã‚¿ãƒ–ルã§ã™ã€‚一度作æˆã•れãŸã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã®å€¤ã¯å¤‰æ›´ã§ãã¾ã›ã‚“。変更ãŒå¿…è¦ãªå ´åˆã¯ã€æ–°ã—ã„インスタンスを作æˆã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚
- 日付ã®è¨ˆç®—ã¨æ“作:
LocalDateクラスã¯ã€æ—¥ä»˜ã®è¨ˆç®—ã‚„æ“作ã«ä¾¿åˆ©ãªãƒ¡ã‚½ãƒƒãƒ‰ã‚’æä¾›ã—ã¦ã„ã¾ã™ã€‚ãŸã¨ãˆã°ã€æŒ‡å®šã—ãŸæ—¥æ•°ã ã‘æœªæ¥ã‚„éŽåŽ»ã®æ—¥ä»˜ã‚’計算ã™ã‚‹ãƒ¡ã‚½ãƒƒãƒ‰ãŒã‚りã¾ã™ã€‚
- パースã¨ãƒ•ォーマット:
- æ–‡å—列ã‹ã‚‰æ—¥ä»˜ã«å¤‰æ›ã™ã‚‹ãŸã‚ã®ãƒ‘ースメソッドã¨ã€æ—¥ä»˜ã‚’指定ã—ãŸãƒ•ã‚©ãƒ¼ãƒžãƒƒãƒˆã®æ–‡å—列ã«å¤‰æ›ã™ã‚‹ãŸã‚ã®ãƒ•ォーマットメソッドãŒç”¨æ„ã•れã¦ã„ã¾ã™ã€‚
ä½¿ã„æ–¹ã®ä¾‹:
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
public class LocalDateExample {
public static void main(String[] args) {
// ç¾åœ¨ã®æ—¥ä»˜ã‚’å–å¾—
LocalDate currentDate = LocalDate.now();
System.out.println("ç¾åœ¨ã®æ—¥ä»˜: " + currentDate);
// ç‰¹å®šã®æ—¥ä»˜ã‚’作æˆ
LocalDate specificDate = LocalDate.of(2023, 1, 15);
System.out.println("ç‰¹å®šã®æ—¥ä»˜: " + specificDate);
// æ–‡å—列ã‹ã‚‰æ—¥ä»˜ã‚’パース
String dateStr = "2023-01-15";
LocalDate parsedDate = LocalDate.parse(dateStr);
System.out.println("パースã—ãŸæ—¥ä»˜: " + parsedDate);
// 日付ã®è¨ˆç®—
LocalDate futureDate = specificDate.plusDays(30);
System.out.println("30æ—¥å¾Œã®æ—¥ä»˜: " + futureDate);
// カスタムフォーマットã§è¡¨ç¤º
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy/MM/dd");
String formattedDate = currentDate.format(formatter);
System.out.println("カスタムフォーマット: " + formattedDate);
}
}
ã“ã®ä¾‹ã§ã¯ã€LocalDate クラスを使用ã—ã¦ç¾åœ¨ã®æ—¥ä»˜ã‚’å–å¾—ã—ã€ç‰¹å®šã®æ—¥ä»˜ã‚’作æˆã—ã€æ–‡å—列ã‹ã‚‰æ—¥ä»˜ã‚’パースã™ã‚‹æ–¹æ³•を示ã—ã¦ã„ã¾ã™ã€‚ã¾ãŸã€æ—¥ä»˜ã®è¨ˆç®—やカスタムフォーマットを行ã†ä¾‹ã‚‚å«ã¾ã‚Œã¦ã„ã¾ã™ã€‚
LocalDateクラスã¨LocalDateTimeクラスã®é•ã„
LocalDate クラス㨠LocalDateTime クラスã¯ã€ã„ãšã‚Œã‚‚ java.time パッケージã«å±žã™ã‚‹æ—¥ä»˜ã¨æ™‚刻を表ã™ã‚¯ãƒ©ã‚¹ã§ã™ãŒã€ä¸»ãªé•ã„ã¯æ¬¡ã®é€šã‚Šã§ã™ã€‚
LocalDate クラス:
- 日付ã®ã¿ã‚’扱ã†:
LocalDateクラスã¯ã€æ™‚åˆ»æƒ…å ±ã‚’å«ã¾ãªã„日付を表ç¾ã—ã¾ã™ã€‚ã¤ã¾ã‚Šã€å¹´ã€æœˆã€æ—¥ã®æƒ…å ±ã ã‘ãŒä¿æŒã•れã¾ã™ã€‚
- ã‚·ãƒ³ãƒ—ãƒ«ãªæ—¥ä»˜æ“作:
- 日付ã®è¨ˆç®—ã‚„æ“作ã«ç‰¹åŒ–ã—ã¦ãŠã‚Šã€æ—¥ä»˜ã‚’å˜ä½ã¨ã—ãŸã‚·ãƒ³ãƒ—ãƒ«ãªæ“作ãŒè¡Œãˆã¾ã™ã€‚例ãˆã°ã€
plusDays()メソッドを使用ã—ã¦æŒ‡å®šã•ã‚ŒãŸæ—¥æ•°ã ã‘æ—¥ä»˜ã‚’進ã‚ãŸã‚Šã€isBefore()ãƒ¡ã‚½ãƒƒãƒ‰ã§æ—¥ä»˜ã®æ¯”較ãŒã§ãã¾ã™ã€‚
- 日付ã®è¨ˆç®—ã‚„æ“作ã«ç‰¹åŒ–ã—ã¦ãŠã‚Šã€æ—¥ä»˜ã‚’å˜ä½ã¨ã—ãŸã‚·ãƒ³ãƒ—ãƒ«ãªæ“作ãŒè¡Œãˆã¾ã™ã€‚例ãˆã°ã€
- æ™‚åˆ»æƒ…å ±ãŒä¸è¦ãªå ´åˆ:
- æ™‚åˆ»æƒ…å ±ãŒä¸è¦ã§ã€ç´”ç²‹ã«æ—¥ä»˜ã®ã¿ãŒå¿…è¦ãªå ´åˆã«åˆ©ç”¨ã•れã¾ã™ã€‚
LocalDateTime クラス:
- æ—¥ä»˜ã¨æ™‚刻を扱ã†:
LocalDateTimeクラスã¯ã€æ—¥ä»˜ã¨æ™‚刻ã®ä¸¡æ–¹ã‚’åŒæ™‚ã«è¡¨ç¾ã—ã¾ã™ã€‚å¹´ã€æœˆã€æ—¥ã€æ™‚ã€åˆ†ã€ç§’ã®æƒ…å ±ã‚’æŒã£ã¦ã„ã¾ã™ã€‚
- è¤‡é›‘ãªæ—¥æ™‚æ“作:
- æ—¥ä»˜ã¨æ™‚刻ã®ä¸¡æ–¹ã‚’å«ã‚€ãŸã‚ã€ã‚ˆã‚Šè¤‡é›‘ãªæ—¥æ™‚ã®æ“作ãŒå¯èƒ½ã§ã™ã€‚例ãˆã°ã€
plusHours()メソッドを使用ã—ã¦æ™‚間を進ã‚ãŸã‚Šã€isAfter()ãƒ¡ã‚½ãƒƒãƒ‰ã§æ—¥æ™‚ã®æ¯”較ãŒã§ãã¾ã™ã€‚
- æ—¥ä»˜ã¨æ™‚刻ã®ä¸¡æ–¹ã‚’å«ã‚€ãŸã‚ã€ã‚ˆã‚Šè¤‡é›‘ãªæ—¥æ™‚ã®æ“作ãŒå¯èƒ½ã§ã™ã€‚例ãˆã°ã€
- æ™‚åˆ»æƒ…å ±ãŒå¿…è¦ãªå ´åˆ:
- 日付ã ã‘ã§ãªãã€æ™‚刻も扱ã„ãŸã„å ´åˆã«åˆ©ç”¨ã•れã¾ã™ã€‚
使ã„分ã‘ã®ä¾‹:
- 日付ã ã‘ãŒå¿…è¦ãªå ´åˆ: 生年月日や予定日ãªã©ã®å ´é¢ã§ã€æ™‚åˆ»æƒ…å ±ãŒä¸è¦ãªå ´åˆã¯
LocalDateを使用ã—ã¾ã™ã€‚ - æ—¥ä»˜ã¨æ™‚刻ãŒå¿…è¦ãªå ´åˆ: 予定時刻やイベントã®ç™ºç”Ÿæ™‚刻ãªã©ã€æ™‚åˆ»æƒ…å ±ã‚‚è€ƒæ…®ã™ã‚‹å ´é¢ã§ã¯
LocalDateTimeを使用ã—ã¾ã™ã€‚
状æ³ã«ã‚ˆã£ã¦ä½¿ã„分ã‘ã‚‹ã“ã¨ã§ã€å¿…è¦ãªæƒ…å ±ã®ã¿ã‚’ä¿æŒã—ã€æ“作ã§ãるよã†ã«ãªã‚Šã¾ã™ã€‚
「013 クラスライブラリã€å•題集リスト
🎯 実習ã§ç†è§£ã‚’æ·±ã‚よã†
ã“ã®å†…容ã«ã¤ã„ã¦JavaDrillã§å®Ÿéš›ã«æ‰‹ã‚’å‹•ã‹ã—ã¦å¦ç¿’ã§ãã¾ã™


コメント