JAVA 日期时间类汇总

一、Date类

java.util.Date;
Date类是我们之前常用的一个日期和时间的对象,此类在 java.util 包中,并不是java.sql中的Date

代码如下(示例):

public static void main(String[] args) {
	Date a=new Date();
	System.out.println(a);//当前时间
	
	Date b=new Date(System.currentTimeMillis());//当前时间
	
	System.out.println(b);//Wed Aug 26 08:26:32 CST 2020
	//常用方法:
	//年	必须加上1900
	System.out.println(a.getYear()+1900);
	//月	0~11 必须加1
	System.out.println(a.getMonth()+1);
	//日	1-31 不用加
	System.out.println(a.getDate());
	//转换成String
	System.out.println(a.toString());	//Wed Aug 26 08:26:32 CST 2020
	//转换为GNT时区
	System.out.println(a.toGMTString());
	//转换为本地时区
	System.out.println(a.toLocaleString());
}

二、SimpleDateFormat类

java.text.SimpleDateFormat
格式化输出日期,此类提供了一些预定义字符串或者称之为占位符:

yyyy:年
MM:月
dd: 日
HH: 小时
mm: 分钟
ss: 秒
格式化时间:

public static void main(String[] args) {
	Date aa=new Date();
	SimpleDateFormat aa1=new SimpleDateFormat("yyyy年MM月dd日HH:mm:ss");
	String str=aa1.format(aa);
	System.out.println(str);
	
	f();
}
public static void f() {
	Date a=new Date();
	DateTimeFormatter w=DateTimeFormatter.ofPattern("yyyy-MM-dd-HH:mm:ss");
	String t=w.format(LocalDateTime.now());
	System.out.println(t);
}

三、Calendar类 -日历类

java.util.Calendar
日历类Calendar更多的是代表年 月 日 周 星期 上午 下午 夏时令等这样内容,Date用于记录某一个含日期的、精确到毫秒的时间。重点在代表一刹那的时间本身;
常用方法:
Calendar.YEAR:年
Calendar.MONTH:月 需要加1
Calendar.DAY_OF_MONTH:日
Calendar.HOUR:时
Calendar.MINUTE:分
Calendar.SECOND:秒
代码演示:

public static void main(String[] args) {
	Calendar a=Calendar.getInstance();
	Date b=a.getTime();
	System.out.println(b);	//当前时间,这样的格式Wed Aug 26 08:44:06 CST 2020 		 
    //年
	int  year=a.get(Calendar.YEAR);
	//月
	int mon =a.get(Calendar.MONTH)+1;
	//日
	int day=a.get(Calendar.DATE);
	//日
	int d=a.get(Calendar.DAY_OF_MONTH);
	
	System.out.println(year+"-"+mon+"-"+day);//2020-8-26
	System.out.println(year+"年"+mon+"月"+d+"日");//2020年8月26日
			
	//从今年初到现在过去了多少天:
	int t=a.get(Calendar.DAY_OF_YEAR);
	System.out.println(t);//从2020年到现在过去了239天
		
	//当前小时数
	int shi=a.get(Calendar.HOUR);
	System.out.println(shi+"时");//当前是几点
	//当前分钟数
	int fen=a.get(Calendar.MINUTE);
	System.out.println(fen+"分");//当前分钟数;
	//当前秒数
	int miao =a.get(Calendar.SECOND);
	System.out.println(miao+"秒");
			
			 
 
  System.out.println(year+"年"+mon+"月"+day+"日"+shi+"时"+fen+"分"+miao+"秒");
  //2020年8月26日8时46分25秒
			
	//格式化输出
	Date aa=new Date();
	SimpleDateFormat aa1=new SimpleDateFormat("yyyy年MM月dd日HH时mm分ss秒");
			
			
	System.out.println(aa1.format(aa));
	f2();//从当前时间计算n天后的日期
	f3();//比较日期的先后,返回布尔值
}
	
public static void f2() {
		
	Calendar c3 = Calendar.getInstance();
	c3.add(Calendar.DATE,+10);
	int year = c3.get(Calendar.YEAR);
	int month = c3.get(Calendar.MONTH)+1;
	int date = c3.get(Calendar.DATE);
		
	System.out.println(year+"年"+month+"月"+date+"日");//十天后是九月五日
}
	
public static void f3() {
	Calendar c1=Calendar.getInstance();
	c1.set(2020,4,12);
	Calendar c2=Calendar.getInstance();
	c2.set(2020,6,10);
	boolean b=c2.after(c1);//前面的与括号内相比较,在前还是在后(返回的是布尔值,true或者false)
	System.out.println(b);
}

四、新增时间类

本地日期类:

LoclDate类 - 本地日期类
LocalDate a=LocalDate.now();

本地时间类:

LocalTime类 - 本地时间类
LocalTime time=LocalTime.now();

本地日期时间类:

LocalDateTime类 - 本地日期时间类;
LocalDateTime b=LocalDateTime.now();

常用方法:

代码演示

public static void main(String[] args) {
	f1();
	f2();
	f3();
	f4();
	f5();
	

}
public static void f1() {
	LocalDate a=LocalDate.now();//当前日期
	LocalTime time=LocalTime.now();//当前时间
	LocalDateTime b=LocalDateTime.now();//当前年月日时分秒
	System.out.println(a);
	System.out.println(time);
	System.out.println(b);
}
public static void f2() {
	//更规范操作
	LocalDateTime a=LocalDateTime.now();//当前年月日时分秒
	LocalDate a1=a.toLocalDate();//当前日期
	LocalTime a2=a.toLocalTime();//当前时间
	System.out.println(a);
	System.out.println(a1);
	System.out.println(a2);
}
public static void f3() {
	LocalDateTime a=LocalDateTime.now();
	System.out.println(a.getYear());//输出年
	System.out.println(a.getMonth());//月(英文)
	System.out.println(a.getMonthValue());//月(中文)
	System.out.println(a.getDayOfMonth());//日
	System.out.println(a.getDayOfYear());//今年第一天到现在有多少天;
	System.out.println(a.getDayOfWeek());//星期
	System.out.println(a.getHour());//时
	System.out.println(a.getMinute());//分钟
	System.out.println(a.getSecond());//秒
}
public static void f4() {
	//给定时间并输出
	LocalDate a=LocalDate.of(2020,8, 26);
	LocalTime b=LocalTime.of(9, 10, 03);
	LocalDateTime c=LocalDateTime.of(a, b);
	
	LocalDateTime d=LocalDateTime.of(2020, 8, 26, 9, 10, 03);
	System.out.println(a);
	System.out.println(b);
	System.out.println(c);
	System.out.println(d);
}
	
public static void f5() {
	//按照指定的格式进行日期时间的输出
	Date a=new Date();
	DateTimeFormatter w=DateTimeFormatter.ofPattern("yyyy年MM月dd日HH时mm分ss秒");
	String t=w.format(LocalDateTime.now());
	System.out.println(t);//当前时间

}

 

猜你喜欢

转载自blog.csdn.net/weixin_40052304/article/details/108321582