标签:Java System date 日期 ----- Date Calendar LocalDate
Java常用类----日期类
一.JAVA8前----日期类
1.Date类
1)Date类是经常会使用到的一个用来处理日期、时间的一个类。Date类是在java.util包下的Date类。
2)Date类的创建:
import java.util.Date;//引包
1. Date d =new Date();//创建一个代表当前时间的Date类对象。
2. Date d1=new Date(long Date)//创建一个Date类对象指定毫秒数的时间。
3)获取当前时间的毫秒数。
getTime():表示自从标准基准时间,即 1970 年 1 月 1 日 00:00:00 GMT)以来的指定毫秒数。可替换System.currentMills。
Date d =new Date();
d.getTime();//获取自1970.1.1到当前时间的毫秒数
2.Calendar类
1)Calendar类同样是经常会使用到的一个用来处理日期、时间的一个类。Calendar类是在java.util包下的Date类。
2)Calendar类的创建:
import.java.util.Calendar;//引包
Calendar c =Calendar.gerInstance();//创建一个表示当前时间的Calendar对象
3)Calendar类获取日期,时间
get(Calendar.):用来获取日期,时间。
import.java.util.Calendar;
Calendar c = Calendar.getInstance();
c.get(Calendar.YEAR);//获取当前日期的年份
c.get(Calendar.MONTH);//获取当前日期的月份。**1月份为0
c.get(Calendar.DAY_OF_MONTH);//获取当前月份的天。
c.get(Calendar.HOUR_OF_DAY);//获取当前天的小时
c.get(Calendar.MINUTE);//获取当前的分钟
c.get(Calendar.SECOND);//获取当前的秒数
4)Calendar类设置日期,时间及日期的计算。
set():用来设置日期,日期。设置月份时一月份为0
add(计算的量,常量):用来计算日期。
before():判断对象日期是否在指定日期之前。
after():判断对象日期是否在直指定日期之后。
import.java.util.Calendar;
Calendar c = Calendar.getInstance();
Calendar c1 =Calendar.getInstance();
c.set(2030,5,1);//设置c对象的日期为(2030.6.1)
c.add(Calendar.YEAR,1);//c对象日期的年份加一年 2030
c1.add(Calendar.YEAR,-1);//当前日期的年份减一年 2020
System.out.println(c.before(c1));//c对象表示的日期是否在c1对象表示的日期之前。false
System.out.println(c.after(c1));//c对象表示的日期是否在c1对象表示的日期之后。true
getTime():将Calendar类转为Date类。
compareTo():判断两个Calendar类表示的时间是否相等。
3.SimpleDateFormat类
1)SimpleDateFormat类用来格式化时间,根据指定格式生成时间。
2)字符串与Date之间的转化。
/*
* 字符串转Date
*/
public void stringToDate() throws ParseException {
String d ="2021-11-11";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date =sdf.parse(d);
System.out.println(date);
}
/*
* Date转字符串
*/
public void stringToDate() throws ParseException {
Date date =new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String d = sdf.format(date);
System.out.println(d);
}
二.JAVA8+ ----日期类
1.LocalDate
1)LocalDate类:用来获取和计算日期。
2)获取当前日期及年,月,日。
import java.time.LocalDate;//引包
LocalDate date = LocalDate.now();//获取当前日期
System.out.println(date.getYear());//获取当前的年
System.out.println(date.getMonth());//获取当前的月
System.out.println(date.getDayOfMonth());//获取当前的日
3)日期比较及判断是否为闰年。
compareTo():显示比较年份,如果年份不同,直接返回年份的差值。如果年份相同,再比较月份,如果如果月份不相同,返回月份的差值。如果月份也相同返回日期的差值。
equals():比较两个日期是否相同
import java.time.LocalDate;//引包
LocalDate date = LocalDate.now();//获取当前日期
LocalDate date2= LocalDate.parse("2030-11-10");//将字符串解析为LocalDate对象
System.out.println(date.compareTo(date2));//两个日期的年份/月份/日的差值
System.out.println(date.equals(date2));//判断两个日期是否相等:false
System.out.println(date.isLeapYear());//判断date日期是否为闰年//false
4)日期计算
LocalDate date = LocalDate.now();//获取当前日期
date =date.plusMonths(3);//当前日期加3个月
System.out.println(date);
date =date.minusMonths(3);//date日期减3个月
System.out.println(date);
5)LocalDate与Date之间的转换
Date转为LocalDate:
LocalDate转为Date:
2.LocalTime
1)LocalDate类:用来获取和计算时间。
2)获取当前时间及时间的运算:
import java.time.LocalTime;//引包
LocalTime t =LocalTime.now();//获取当前时间
System.out.println(t);
System.out.println(t.plusHours(2));//当前时间加两小时
System.out.println(t.minusMinutes(5));//当前时间减五分钟
3.时区
全球分为24个时区,相邻时区时间相差1个小时。比如北京处于东八时区,东京处于东九时区,北京时间比东京时间晚1个小时,而英国伦敦时间比北京晚7个小时(英国采用夏令时时,8月英国处于夏令时)。
比如此刻北京时间是2017年8月24日11:17:10,则东京时间是2017年8月24日12:17:10,伦敦时间是2017年8月24日4:17:10。
4.Period
1)Period类:表示一段时间的年、月、日
2)判断两个日期相差的年/月/日。
import java.time.LocalDate;//引包
import java.time.Period;//引包
LocalDate startDate = LocalDate.parse("2021-04-05");
LocalDate endDate = LocalDate.parse("2021-05-05");
Period p =Period.between(startDate, endDate);//表示两个时间段之间的日期
System.out.println("年份相差多少年"+p.getYears());//判断年:0
System.out.println("月份相差多少月"+p.getMonths());//判断月:1
System.out.println("日相差多少日"+p.getDays());//判断日:0
long s =endDate.toEpochDay()-startDate.toEpochDay();
System.out.println("两个日期相差多少天"+s);//30
5.DateTimeFormat
1)DateTimeFormat与SimpleDateFormat都是用来字符串与日期的转换
2)字符串转化为Date
例题
输入一个人得出生日期,返回他、她的年龄?
public int age(String date) {
LocalDate date1 =LocalDate.parse(date);
LocalDate date2 =LocalDate.now();//当前日期
Period p =Period.between(date1, date2);
return p.getYears();
}
标签:Java,System,date,日期,-----,Date,Calendar,LocalDate 来源: https://blog.csdn.net/m0_56688298/article/details/116500247
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。