1、data类
data 代表了一个特定的时间,精确到毫秒
public Date() //分配一个date对象,并初始化,以便代表它被分配的时间,精确到毫秒
public Date(long data) // 分配一个date对象,并将其初始化为表示从标准基准时间起指定的毫秒数
2、date类的常用方法
public long getTime() //获取从1970.1.1.00.00.00到现在的毫秒值
public void setTime(long time) //设置时间,给的是毫秒值
3、SimpleDateFormat类
y年 M月 d日 H时 m分 s秒
public final String format(Date date) //将日期格式化成日期/时间字符串
public Date parse(String source);//从给定字符串的开始解析文本以生产日期
//格式化:从date 到 string
Date d = new Date();
SimpleDateFormat sdf = new SimpleDateFormat(“yyyy年MM月dd日HH时mm分ss秒”);
String s = sdf.format(d);
System.out.println(s);
输出结果:2022年02月10日17时17分03秒
//从string 到date
String ss = “2022-02-10 11:11:11”;
SimpleDateFormat sdf1 = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”);
Date dd = sdf1.parse(ss);
System.out.println(dd);
输出结果:Thu Feb 10 11:11:11 CST 2022
4、Calendar类
getInstance() //获取Calendar对象,其日历字段已使用当前日期和时间初始化
public int get(int field) //返回给定日历字段的值
public abstract void add(int field,int amount) //根据日历规则,将指定的时间量添加或减去给定的日历字段
public final void set(int year,int month,int date)//设置当日历的年月日
案例:获取任意一个年的二月的天数
import java.util.Calendar;
import java.util.Scanner;
//需求:获取任意一年的二月有多少天
public class helloworld {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.println("请输入年份:");
int year = sc.nextInt();
//设置日历的年月日
Calendar c = Calendar.getInstance();
c.set(year,2,1);
//3.1往前推一天,就是2月最后一天
c.add(Calendar.DATE, -1);
int date = c.get(Calendar.DATE);
System.out.println(year+"年,二月有"+date+"天");
}
}