Date
Java μμ λ μ§/μκ°μ νμνλ λ°©λ²μΌλ‘ μ£Όλ‘ μ¬μ©λλ μ΄λ μλμ λ¬Έμ μ μ κ°μ§κ³ μλ€.
λ¬Έμ μ
κΈ°μ‘΄ μλ°μμ Calendar, Date ν΄λμ€λ μ¬λ¬ λ¬Έμ μ μ κ°μ§κ³ μλ€
μ΄λ Naver D2 μμλ λ΄μ©μ λ€λ£¨κ³ μλ€.
μ΄λ₯Ό μμ½νμλ©΄ λ€μκ³Ό κ°λ€.
- λΆλ³ κ°μ²΄κ° μλλ€.
set
μΌλ‘ λ³κ²½ κ°λ₯ν¨- μ΄λ μ μμ μΈ μ½λλ‘ μ¬μ©κ°λ₯ νκΈ° λλ¬Έμ μ§μ Date ν΄λμ€μμ μ¬μ©νλκ²μ μννλ€.
- μμ νλμ λ¨μ©
calendar.add(Calendar.SECOND, 2)
- νΌλμ€λ¬μ΄ μ μ§μ
- 1μμ
0
μΌλ‘ νν
- 1μμ
- μΌκ΄μ± μλ μμΌ μμ
- μΌμμΌμ΄
0
νΉμ1
λ‘ μ¬μ©νλ κ°μ²΄μ λ°λΌ λ€λ₯΄λ€.
- μΌμμΌμ΄
Date
μCalendar
κ°μ²΄μ μνλΆλ΄- λ
/μ/μΌ κ³μ°μ
Date
ν΄λμ€λ§μΌλ‘ λΆμ‘± - Calendar κ°μ²΄λ₯Ό μμ±νκ³ Date κ°μ²΄λ₯Ό μμ±νλ νλ‘μΈμ€λ₯Ό κ±°μΉκΈ° λλ¬Έμ μμ±λΉμ©μ΄ λΉμΈλ€
- λ
/μ/μΌ κ³μ°μ
java.util.Date
μ νμ ν΄λμ€ λ¬Έμ - μ€νμμ€ λΌμ΄λΈλ¬λ¦¬
joda.time
μ¬μ©μ μΆμ²
- μ€νμμ€ λΌμ΄λΈλ¬λ¦¬
λ°©μ΄μ 볡μ¬λ³Έ
Effective Java 3rd μμλ μ μμ λ°©μ΄μ 볡μ¬λ³Έμ λ§λ€λΌ λΌκ³ λͺ μλμ΄ μμΌλ©° λ€μμ μ¬μ©μλ₯Ό 보μ¬μ€λ€.
public Period(Date start, Date end) {
this.start = new Date(start.getTime());
this.end = new Date(end.getTime());
if (this.start.compareTo(this.end) > 0) {
throw new IllegalArgumentException(this.start + " after " + this.end);
}
}
μ΄λ 맀κ°λ³μκ° Date
μ²λΌ μ 3μμ μν΄ νμ₯λ μ μλ νμ
μ΄λΌλ©΄ λ°©μ΄μ 볡μ¬λ³Έμ λ§λ€λ clone()
λ©μλλ₯Ό μ¬μ©ν΄μλ μλλ€.
Java SE 1.8+
LocalDate, LocalTime, LocalDateTimeμ΄λ¬ν λ¬Έμ λ₯Ό μ¬μ©νκΈ° μν΄ Java SE 8 μμλ LocalDate, LocalTime, LocalDateTime μ΄λΌλ ν΄λμ€λ₯Ό λ§λ€μλ€.
μ¬μ©λ²
// νμ¬ λ μ§ μ 보
LocalDate currentDate = LocalTime.now();
// λ
/μ/μΌ
LocalDate myDate = LocalDate.of(int year, int month, int dateOfMonth);
// νμ¬ μκ°μ λ¬Έμμ΄λ‘ λ³ν
LocalDateTime.now().format(DatetimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
// λ¬Έμμ΄μ LocalDateTime μΌλ‘ λ³ν
LocalDateTime.parse().format("2019-12-11 10:15:30", DatetimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));