Aula do calendário
Calendário: fornece alguns métodos para a conversão entre um momento específico e um conjunto de campos do calendário como ANO, MÊS, DAY_OF_MONTH, HORA, etc., e fornece alguns métodos para manipular os campos do calendário (por exemplo, obter a data do próximo semana).
Um, método de construção
Protected Calendar (): Como o modificador é protegido, o objeto não pode ser criado diretamente. O objeto precisa ser gerado por outros meios.
2. Método de membro
Métodos de membro da classe Calendar
static Calendar getInstance () | Use o fuso horário e local padrão para obter o calendário. Gere o objeto Calendar por este método. Conforme mostrado abaixo: Calendar cr = Calendar.getInstance (); |
---|---|
public void set (int ano, int mês, int data, int hora do dia, int minuto, int segundo) | Defina o ano, mês, dia, hora, minuto e segundo do calendário. |
public int get (campo int) | Retorna o valor do campo de calendário fornecido. Os chamados campos são ano, mês, dia, etc. |
public void setTime (data data) | Use a data fornecida para definir a hora deste calendário. Data ------ Calendário |
public Date getTime () | Retorna uma data que representa a hora deste calendário. Calendário ----- Data |
abstract void add (int field, int amount) | De acordo com as regras do calendário, adicione ou reduza a quantidade de tempo para o campo especificado. |
public long getTimeInMillies () | Retorna o valor de tempo deste calendário em milissegundos. |
Terceiro, o campo do calendário
Existem dois tipos de campos de calendário: um é uma unidade de tempo, como ano, mês, dia, etc. A outra é uma data específica, como janeiro, fevereiro, março, o primeiro, o segundo, o terceiro, uma hora, duas horas e assim por diante. O primeiro é usado para aquisição geral e o último é usado para julgamento geral.
Campo de unidade de tempo:
ANO | ano | MINUTO | Minuto | DAY_OF_WEEK_IN_MONTH | A semana do mês |
---|---|---|---|---|---|
MÊS | mês | SEGUNDO / MILISSEGUNDO | Segundos / milissegundo | WEEK_OF_MONTH | Semana do calendário |
ENCONTRO | dia | DIA DO MÊS | Igual a DATE | DAY_OF_YEAR | O dia do ano |
HOUR_OF_DAY | Tempo | DIA DA SEMANA | qual dia | WEEK_OF_YEAR | Semana do ano |
Campo de tempo específico: Não é complicado aqui, de janeiro a dezembro, de segunda a sexta-feira
Especial: AM_PM retorna 1 para indicar tarde e retorna 0 para indicar manhã.
4. DEMO
public class CalendarDemo {
public static void main(String[] args) {
// 其日历字段已由当前日期和时间初始化:
Calendar rightNow = Calendar.getInstance(); // 子类对象
// 获取年
int year = rightNow.get(Calendar.YEAR);
// 获取月
int month = rightNow.get(Calendar.MONTH);
// 获取日
int date = rightNow.get(Calendar.DATE);
//获取几点
int hour=rightNow.get(Calendar.HOUR_OF_DAY);
//获取上午下午
int moa=rightNow.get(Calendar.AM_PM);
if(moa==1)
System.out.println("下午");
else
System.out.println("上午");
System.out.println(year + "年" + (month + 1) + "月" + date + "日"+hour+"时");
rightNow.add(Calendar.YEAR,5);
rightNow.add(Calendar.DATE, -10);
int year1 = rightNow.get(Calendar.YEAR);
int date1 = rightNow.get(Calendar.DATE);
System.out.println(year1 + "年" + (month + 1) + "月" + date1 + "日"+hour+"时");
}
}
Nota: o mês começa em 0 e o mês começa em 1, portanto, o mês precisa ser aumentado em um.