Java面試試題日期和時(shí)間
引導(dǎo)語(yǔ):日期和時(shí)間類(lèi)編程題也是Java筆試中會(huì)出現(xiàn)的題目,以下是百分網(wǎng)小編分享給大家的Java面試試題日期和時(shí)間,歡迎參考學(xué)習(xí)!
日期和時(shí)間:
- 如何取得年月日、小時(shí)分鐘秒?
- 如何取得從1970年1月1日0時(shí)0分0秒到現(xiàn)在的毫秒數(shù)?
- 如何取得某月的最后一天?
- 如何格式化日期?
答:
問(wèn)題1:創(chuàng)建java.util.Calendar 實(shí)例,調(diào)用其get()方法傳入不同的參數(shù)即可獲得參數(shù)所對(duì)應(yīng)的值。Java 8中可以使用java.time.LocalDateTimel來(lái)獲取,代碼如下所示。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
public class DateTimeTest { public static void main(String[] args) { Calendar cal = Calendar.getInstance(); System.out.println(cal.get(Calendar.YEAR)); System.out.println(cal.get(Calendar.MONTH)); // 0 - 11 System.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 8 LocalDateTime dt = LocalDateTime.now(); System.out.println(dt.getYear()); System.out.println(dt.getMonthValue()); // 1 - 12 System.out.println(dt.getDayOfMonth()); System.out.println(dt.getHour()); System.out.println(dt.getMinute()); System.out.println(dt.getSecond()); } } |
問(wèn)題2:以下方法均可獲得該毫秒數(shù)。
1
2
3
|
Calendar.getInstance().getTimeInMillis(); System.currentTimeMillis(); Clock.systemDefaultZone().millis(); // Java 8 |
問(wèn)題3:代碼如下所示。
1
2
|
Calendar time = Calendar.getInstance(); time.getActualMaximum(Calendar.DAY_OF_MONTH); |
問(wèn)題4:利用java.text.DataFormat 的子類(lèi)(如SimpleDateFormat類(lèi))中的format(Date)方法可將日期格式化。Java 8中可以用java.time.format.DateTimeFormatter來(lái)格式化時(shí)間日期,代碼如下所示。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
import java.text.SimpleDateFormat; import java.time.LocalDate; import java.time.format.DateTimeFormatter; import java.util.Date; class DateFormatTest { public static void main(String[] args) { SimpleDateFormat oldFormatter = new SimpleDateFormat( "yyyy/MM/dd" ); Date date1 = new Date(); System.out.println(oldFormatter.format(date1)); // Java 8 DateTimeFormatter newFormatter = DateTimeFormatter.ofPattern( "yyyy/MM/dd" ); LocalDate date2 = LocalDate.now(); System.out.println(date2.format(newFormatter)); } } |
補(bǔ)充:Java的'時(shí)間日期A(yíng)PI一直以來(lái)都是被詬病的東西,為了解決這一問(wèn)題,Java 8中引入了新的時(shí)間日期A(yíng)PI,其中包括LocalDate、LocalTime、LocalDateTime、Clock、Instant等類(lèi),這些的類(lèi)的設(shè)計(jì)都使用了不變模式,因此是線(xiàn)程安全的設(shè)計(jì)。
【Java面試試題日期和時(shí)間】相關(guān)文章: