year属性传入的值应当是 正确年份-1900;比如你要设置1988年,你传入的值应该是88;
month属性传入的值应当是 正确月份-1;比如你要设置10月,你传入的值应该是9;
别的无需改动。
public Date(int year,int month,int date,int hrs,int min,int sec)
year的值为:需设定的年份-1900。例如需设定的年份是1988则year的值应为88,即1988-1900的结果。所以Date中可设定的年份最小为1900;
month的值域为0~11,0代表1月,11表代表12月;
date的值域在1~31之间;
hrs的值域在0~23之间。从午夜到次日凌晨1点间hrs=0,从中午到下午1点间hrs=12;
min和sec的值域在0~59之间。
package com.raint;
import java.util.Date;
import java.util.Scanner;
public class Main {
Date date;
static Scanner scan=new Scanner(System.in);
private int year,month,day;
public static void main(String[] args) {
Main mainQuery=new Main();
mainQuery.getQuery();
mainQuery.findAnswer();
}
public void getQuery(){
System.out.println("请输入你要查询的年份:");
this.year=scan.nextInt();
System.out.println("请输入你要查询的月份:");
this.month=scan.nextInt();
System.out.println("请输入你要查询的日份:");
this.day=scan.nextInt();
}
@SuppressWarnings("deprecation")
public void findAnswer() {
this.date=new Date(this.year-1900, this.month-1, this.day);
System.out.println(this.date.toString());
}
}