일반적으로 사용되는 날짜 클래스에는 Date 클래스, Calendar(calendar) 클래스, 날짜 형식 변환 클래스(DateFormat) 세 가지가 있습니다.
Date 클래스의 메소드는 대부분 폐기되었으며 일반적으로 생성자만 사용됩니다. 시스템의 현재 시간을 얻는 방법을 사용합니다.
public class DateDemo { public static void main(String[] args) { Date date = new Date(); System.out.println(date); } }
결과 출력은 현재 시스템 시간입니다: Fri Mar 10 16:50:37 CST 2017
우리는 이 시간 형식에 익숙하지 않다는 것을 알 수 있으므로 시간을 표시할 때 출력 형식을 변환해야 합니다. 이때 날짜 형식 변환 클래스 DateFormat을 사용해야 합니다.
public class FormatDemo { public static void main(String[] args) { Date d=new Date(); System.out.println(d); Format f=new SimpleDateFormat("yyyy-MM-dd hh-mm-ss"); String s=f.format(d); System.out.println(s); } }
이때 출력시간은 2017-03-10 04-54-06
아주 편해 보이네요.
Calendar
Calendar 클래스는 특정 순간을 YEAR, MONTH, DAY_OF_MONTH와 같은 달력 필드 집합과 연결하는 추상 클래스입니다. , HOUR 등. 달력 필드 간 변환 및 조작(예: 다음 주 날짜 가져오기)을 위한 메서드가 제공됩니다.
캘린더 필드는 set(), add() 및 Roll()의 세 가지 방법을 사용하여 변경할 수 있습니다.
1, set(f, value)는 달력 필드 f를 값으로 변경합니다.
2, add(f, delta)는 f 필드에 델타를 추가합니다.
3, Roll(f, delta)는 f 필드에 델타를 추가하지만 더 큰 필드를 변경하지는 않습니다.
public class Test { public static void main(String[] args) { Calendar c=new GregorianCalendar(); c.set(Calendar.DAY_OF_MONTH,1); System.out.println("输出的是本月第一天"); System.out.println((c.get(Calendar.MARCH)+1)+"月的"+c.get(Calendar.DAY_OF_MONTH)+"号"); c.roll(Calendar.DAY_OF_MONTH,-1); System.out.println("输出的是本月最后一天"); System.out.println((c.get(Calendar.MARCH)+1)+"月的"+c.get(Calendar.DAY_OF_MONTH)+"号"); } }
출력 결과는 다음과 같습니다.
출력은 이번 달 1일입니다
3월 1일
출력은 다음 달의 마지막 날입니다. 이번달
3월 31일
Roll방식 연산시 첫날의 일수를 1감감한 후 바로 그 달의 마지막 날로 돌아갑니다. . 날짜는 월을 변경하지 않고 해당 월 내에서 변경됩니다. 즉, 더 큰 필드는 변경되지 않습니다.
추가 방법 비교:
public class Test { public static void main(String[] args) { Calendar c=new GregorianCalendar(); c.set(Calendar.DAY_OF_MONTH,1); System.out.println("输出的是本月第一天"); System.out.println((c.get(Calendar.MARCH)+1)+"月的"+c.get(Calendar.DAY_OF_MONTH)+"号"); c.add(Calendar.DAY_OF_MONTH,-1); System.out.println("输出的是上个月最后一天"); System.out.println((c.get(Calendar.MARCH)+1)+"月的"+c.get(Calendar.DAY_OF_MONTH)+"号"); } }
출력 결과:
출력은 이번 달 1일
3월 1일
출력된 날짜는 이번 달의 마지막 날입니다
2월 28일
3월 1일에서 1을 빼면 자동월이 2월로 자동 변경되는 것을 알 수 있습니다. 이것이 롤방식과 애드방식의 차이입니다.
위 내용은 Java의 일반적인 날짜 클래스에 대한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!