JAVA中的日期时间类用法总结

所属分类: 软件编程 / java 阅读数: 84
收藏 0 赞 0 分享

前言

好记性不如烂笔头,日期时间类那么花哨不如记下来多看两眼。

提示:以下是本篇文章正文内容,下面案例可供参考

一.日期时间类的包

代码如下(示例):

java.util.Date;
java.time.format.DateTimeFormatter;
java.util.Calendar
java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;

二.Data类

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);//当前时间

	}

以上就是日期时间类的内容,分别是:

  • Date类、
  • Calendar类
  • SimpleDateFormat类
  • LoclDate类 - 本地日期类
  • LocalTime类 - 本地时间类
  • LocalDateTime类 - 本地日期时间类;
更多精彩内容其他人还在看

利用MultipartFile实现文件上传功能

这篇文章主要为大家详细介绍了利用MultipartFile实现文件上传功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

Java编程实现NBA赛事接口调用实例代码

这篇文章主要介绍了Java编程实现NBA赛事接口调用实例代码,具有一定参考价值,需要的朋友可以了解下。
收藏 0 赞 0 分享

Java编程之双重循环打印图形

这篇文章主要介绍了Java编程之双重循环打印图形,属于Java编程基础练习部分,具有一定参考价值,需要的朋友可以了解下。
收藏 0 赞 0 分享

java基础学习JVM中GC的算法

这篇文章主要介绍了java基础学习JVM中GC的算法,通过图文加深对GC算法思路的理解。
收藏 0 赞 0 分享

Java编程Post数据请求和接收代码详解

这篇文章主要介绍了Java编程Post数据请求和接收代码详解,涉及enctype的三种编码,post与get等相关内容,具有一定参考价值,需要的朋友可以了解下。
收藏 0 赞 0 分享

Retrofit+Rxjava实现文件上传和下载功能

这篇文章主要介绍了Retrofit+Rxjava实现文件上传和下载功能,文中提到了单文件上传和多文件上传及相关参数的请求,需要的朋友参考下吧
收藏 0 赞 0 分享

Retrofit+Rxjava下载文件进度的实现

这篇文章主要介绍了Retrofit+Rxjava下载文件进度的实现,非常不错,具有参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

java检查服务器的连通两种方法代码分享

这篇文章主要介绍了java检查服务器的连通两种方法代码分享,涉及ping的介绍以及检查服务器连通的两种方法代码示例,具有一定参考价值,需要的朋友可以了解下。
收藏 0 赞 0 分享

Java/Android 获取网络重定向文件的真实URL的示例代码

本篇文章主要介绍了Java/Android 获取网络重定向文件的真实URL的示例代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

java并发编程之同步器代码示例

这篇文章主要介绍了java并发编程之同步器代码示例,分享了相关代码,具有一定参考价值,需要的朋友可以了解下。
收藏 0 赞 0 分享
查看更多