Java中的日期與時間獲取與轉換?


  • JDK1.8 之前,使用 java.util.Calendar
  • JDK1.8 提供了 java.time 包
  • 還有第三方時間類庫 Joda-Time 也可以
package constxiong.interview;

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

/**
 * 測試時間和日期
 * @author ConstXiong
 * @date 2019-11-01 11:05:59
 */
public class TestDateAndTime {

    public static void main(String[] args) {
        //獲取當前的年、月、日、時、分、秒、毫秒、納秒
        //
        System.out.println(Calendar.getInstance().get(Calendar.YEAR));
        //JDK 1.8 java.time 包
        System.out.println(Year.now());
        System.out.println(LocalDate.now().getYear());
        
        //
        System.out.println(Calendar.getInstance().get(Calendar.MONTH)+1);
        //JDK 1.8 java.time 包
        System.out.println(MonthDay.now().getMonthValue());
        System.out.println(LocalDate.now().getMonthValue());
        
        //
        System.out.println(Calendar.getInstance().get(Calendar.DAY_OF_MONTH));
        //JDK 1.8 java.time 包
        System.out.println(MonthDay.now().getDayOfMonth());
        System.out.println(LocalDate.now().getDayOfMonth());
        
        //
        System.out.println(Calendar.getInstance().get(Calendar.HOUR_OF_DAY));
        //JDK 1.8 java.time 包
        System.out.println(LocalTime.now().getHour());
        
        //
        System.out.println(Calendar.getInstance().get(Calendar.MINUTE));
        //JDK 1.8 java.time 包
        System.out.println(LocalTime.now().getMinute());
        
        //
        System.out.println(Calendar.getInstance().get(Calendar.SECOND));
        //JDK 1.8 java.time 包
        System.out.println(LocalTime.now().getSecond());
        
        //毫秒
        System.out.println(Calendar.getInstance().get(Calendar.MILLISECOND));
        
        //納秒
        System.out.println(LocalTime.now().getNano());
        
        
        //當前時間毫秒數
        System.out.println(System.currentTimeMillis());
        System.out.println(Calendar.getInstance().getTimeInMillis());
        
        
        //某月最后一天
        //2018-05月最后一天,6月1號往前一天
        Calendar c = Calendar.getInstance();
        c.set(Calendar.YEAR, 2018);
        c.set(Calendar.MONTH, 5);
        c.add(Calendar.DAY_OF_MONTH, -1);
        System.out.println(c.get(Calendar.YEAR) + "-" + (c.get(Calendar.MONTH)+1) + "-" + c.get(Calendar.DAY_OF_MONTH));
        //JDK 1.8 java.time 包
        LocalDate date = LocalDate.of(2019, 6, 1).minusDays(1);
        System.out.println(date.getYear() + "-" + date.getMonthValue() + "-" + date.getDayOfMonth());
        
        
        //格式化日期
        System.out.println(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
        //JDK 1.8 java.time 包
        System.out.println(LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
    }
}

 

 


   

來一道刷了進BAT的面試題?


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM