>  기사  >  Java  >  Java의 일반적인 날짜 클래스에 대한 설명

Java의 일반적인 날짜 클래스에 대한 설명

伊谢尔伦
伊谢尔伦원래의
2017-04-29 13:01:481602검색

일반적으로 사용되는 날짜 클래스에는 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.