如何在JAVA中使用日期时间类?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
一.日期时间类的包
代码如下(示例):
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);//当前时间 }
总结
以上就是日期时间类的内容,分别是:
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。