자바 라 이브 러 리 사용: Calendar 클래스
Calendar 클래스 개요
Calendar 클래스 는 util 패키지 에 존재 합 니 다. 사용 시 import 가 져 오기:
import java.util.Calendar
다음은 calendar 클래스 의 형식 설명 입 니 다.
public abstract class Calendar extends Object implements Serializable, Cloneable, Comparable<Calendar>
Calendar 클래스 는 추상 적 인 클래스 (Calendar 클래스 는 인 스 턴 스 를 직접 만 들 수 없습니다) 로 특정한 순간 과 YEAR, MONTH, DAY 와 같은 그룹 입 니 다.OF_MONTH, HOUR 등 달력 필드 간 의 전환 에 방법 을 제공 하고 달력 필드 (예 를 들 어 다음 주 날 짜 를 얻 는 것) 를 조작 하 는 방법 을 제공 합 니 다.순간 밀리초 값 으로 표시 할 수 있 습 니 다. 이것 은 역 원 (그리니치 시간 1970 년 1 월 1 일의 00: 00: 00.000) 에서 의 오프셋 입 니 다.
Calendar 클래스 가 인 스 턴 스 를 만 들 려 면 getInstance 방법 으로 Calendar 의 하위 클래스 대상 을 구성 해 야 합 니 다.
Calendar 클래스 의 방법
1.
getInstance()
정적 방법Calendar.getInstance();
/*该方法返回Calendar类的子类对象;为什么说『返回Calendar类的子类对象』?首先Calendar类是一个抽象类,所以不存在所谓的Calendar类的实例,其次在地球上有很多不同的时区,不同的时区就要对应不同的Calendar类的的子类(每个国家都有自己的一套日历算法,比如西方的国家的第一个星期大部分为星期日,而中国则为星期一,等等)*/
원본 코드:
/*函数功能:根据不同国家地区构造对应的日期类,当调用geInstaance时会自动调用该方法(被封装到calendar.getInstance()方法内)
*请参说明:zone->时区,aLocale->Locale类的一个声明,java.util.Locale主要用来在软件的本地化时使用,本身没有什么作用,更多的是作为一个参数辅助其它的方法完成输出的本地化
*/
private static Calendar createCalendar(TimeZone zone, Locale aLocale){
Calendar cal = null;
String caltype = aLocale.getUnicodeLocaleType("ca");
if(calType == null){
//Calendar type is not specificd.
//If the specific locale is a Thai locale,
//return a BuddhistCalendar instance.
if("th".equals(aLocale.getLanguage()) && "TH".equals(aLocale.getCountry())){
cal = new BuddhistCalendar(zone, aLocale);
}else{
cal = new GregorianCalendar(zone, aLocale);
}
}else if(caltype.equals("japanese")){
cal = new JapaneseImperialCalendar(zone, aLocale);
}else if(caltype.equals("buddhist")){
cal = new BuddhisCalendarr(zone, aLocale);
}else{
//Unsupported calendar type.
//Use Greorian calendar as fallback.
cal = new gregoianCalendar(zone, aLocale);
}
return cal
}
/*函数功能:创建一个新的Calendar子类对象(封装了createCalendar)
*请参说明:没有参数,主要实现都在createCalendar里面了...
*/
public static calendar getInstance(){
Calendar cla = new createCalendar(TimeZone.getdefaultref(), Locale.getdefault(Locale.Category.FORMAT));
cal.sharedZone = truel;
return cal;
}
2.
get()
멤버 방법이 방법 은 Calendar 류 의 YEAR, MONTH, DAY 를 받 아들 입 니 다.OF_MONTH, HOUR, MINUTE, SECOND 등 달력 필드
예:
Calendar cal = Calendar.getInstance();//cal作为Calendar类的子类对象,对应用户所在的时区
int year = cal.get(Calendar.YEAR);
int month = cal.get(Calendar.MONTH)+1;//需要注意的是,MONTH默认从0开始,所以通常要加一(真是奇怪的设定!)
int day = cal.get(Calenar.DATE);
int day = cal.get(Calendar.DAY_OF_MONTH);//DATE和DAY_OF_MONTH是等价的
int day = c.get(Calendar.DAY_OF_MONTH);
int hour = c.get(Calendar.HOUR_OF_DAY);
int minute = c.get(Calendar.MINUTE);
int second = c.get(Calendar.SECOND);
long time = c.getTimeInMillis();//貌似和System.currentTimeMillis()是等价的
3.
getTime()
Date 클래스 로 전환Date d = c.getTime();//返回一个由c得到的Date对象
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
JPA + QueryDSL 계층형 댓글, 대댓글 구현(2)이번엔 전편에 이어서 계층형 댓글, 대댓글을 다시 리팩토링해볼 예정이다. 이전 게시글에서는 계층형 댓글, 대댓글을 구현은 되었지만 N+1 문제가 있었다. 이번에는 그 N+1 문제를 해결해 볼 것이다. 위의 로직은 이...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.