网站首页 > 技术文章 正文
小伙伴们大家好啊~毕业季已经到来。踏入社会的你们有没有准备好自己的面试呢?今天浙江优就业为大家带来了Java面试中关于时间与日期的问题。
如何取得年月日、小时分钟秒?
如何取得从1970年1月1日0时0分0秒到现在的毫秒数?
如何取得某月的最后一天?
如何格式化日期?
答:
问题1:创建java.util.Calendar 实例,调用其get()方法传入不同的参数即可获得参数所对应的值。Java 8中可以使用java.time.LocalDateTimel来获取,代码如下所示。
publicclassDateTimeTest{publicstaticvoidmain(String[] args) { Calendar cal = Calendar.getInstance(); System.out.println(cal.get(Calendar.YEAR)); System.out.println(cal.get(Calendar.MONTH)); // 0 - 11System.out.println(cal.get(Calendar.DATE)); System.out.println(cal.get(Calendar.HOUR_OF_DAY)); System.out.println(cal.get(Calendar.MINUTE)); System.out.println(cal.get(Calendar.SECOND)); // Java 8LocalDateTime dt = LocalDateTime.now(); System.out.println(dt.getYear()); System.out.println(dt.getMonthValue()); // 1 - 12System.out.println(dt.getDayOfMonth()); System.out.println(dt.getHour()); System.out.println(dt.getMinute()); System.out.println(dt.getSecond()); } }
问题2:以下方法均可获得该毫秒数。
Calendar.getInstance().getTimeInMillis(); System.currentTimeMillis(); Clock.systemDefaultZone().millis(); // Java 8
问题3:代码如下所示。
Calendar time = Calendar.getInstance(); time.getActualMaximum(Calendar.DAY_OF_MONTH);
问题4:利用java.text.DataFormat 的子类(如SimpleDateFormat类)中的format(Date)方法可将日期格式化。Java 8中可以用java.time.format.DateTimeFormatter来格式化时间日期,代码如下所示。
importjava.text.SimpleDateFormat; importjava.time.LocalDate; importjava.time.format.DateTimeFormatter; importjava.util.Date; class DateFormatTest { publicstaticvoidmain(String[] args) { SimpleDateFormat oldFormatter = newSimpleDateFormat( "yyyy/MM/dd"); Date date1 = newDate(); System.out.println(oldFormatter.format(date1)); // Java 8DateTimeFormatter newFormatter = DateTimeFormatter.ofPattern( "yyyy/MM/dd"); LocalDate date2 = LocalDate.now(); System.out.println(date2.format(newFormatter)); } }
补充:Java的时间日期API一直以来都是被诟病的东西,为了解决这一问题,Java 中引入了时间日期API,其中包括LocalDate、LocalTime、LocalDateTime、Clock、Instant等类,这些的类的设计都使用了不变模式,因此是线程安全的设计。
更多的IT知识请持续关注浙江优就业~
猜你喜欢
- 2024-10-22 DATE #4、Java操作日期时间-②老版本使用的日期和时间类
- 2024-10-22 JDK1.7和JDK1.8中日期时间使用和处理的不同「Java工程师必读」
- 2024-10-22 浅谈Java8日期时间处理(抗美援朝战争时间的起止日期)
- 2024-10-22 玩转MySQL的时间类型:Date、DateTime、TimeStamp、Time
- 2024-10-22 Java8日期时间类使用详解,干货满满,不容错过哦
- 2024-10-22 java 8 新特性 日期和时间 API(我的世界java版特性)
- 2024-10-22 JAVA时间工具包 - java.time(java中时间)
- 2024-10-22 Java 打印日期/时间格式(java 打印当前时间)
- 2024-10-22 Java时间类Date与Calendar的区别与使用
- 2024-10-22 用python 计算两个日期相差多少个月
- 最近发表
- 标签列表
-
- cmd/c (57)
- c++中::是什么意思 (57)
- sqlset (59)
- ps可以打开pdf格式吗 (58)
- phprequire_once (61)
- localstorage.removeitem (74)
- routermode (59)
- vector线程安全吗 (70)
- & (66)
- java (73)
- org.redisson (64)
- log.warn (60)
- cannotinstantiatethetype (62)
- js数组插入 (83)
- resttemplateokhttp (59)
- gormwherein (64)
- linux删除一个文件夹 (65)
- mac安装java (72)
- reader.onload (61)
- outofmemoryerror是什么意思 (64)
- flask文件上传 (63)
- eacces (67)
- 查看mysql是否启动 (70)
- java是值传递还是引用传递 (58)
- 无效的列索引 (74)