timestamp、yyyy-MM-dd HH:mm:ss互相轉換


0.記得加上T、.422+0800

  1. 傳值yyyy-MM-dd格式, Date接收默認為8:00
  • "date": "2021-06-30"
  • Wed Jun 30 08:00:00 CST 2021
  • Wed Jun 30 08:00:00 CST 2021
  • 2021-06-30 08:00:00
  • Wed Jun 30 08:00:00 CST 2021

  1. 自定義時間, Date接收自動轉換
@PostMapping("/PasadenaDate")
public void PasadenaDate(@RequestBody StudentPlus studentPlus) throws ParseException {
  DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

  // POST請求入參: "date": "2021-06-30T23:59:59.422+0800"

  // 接收Date類型默認參數
  // Wed Jun 30 23:59:59 CST 2021
  System.out.println(studentPlus.getDate());

  // JSON轉換后的Date類型默認參數
  // Wed Jun 30 23:59:59 CST 2021
  System.out.println(JSON.toJSON(studentPlus.getDate()));

  // Date默認參數 轉換 為yyyy-MM-dd HH:mm:ss格式
  // 2021-06-30 23:59:59
  System.out.println(dateFormat.format(studentPlus.getDate()));

  // yyyy-MM-dd HH:mm:ss 轉換 為Date默認格式參數
  // Wed Jun 30 23:59:59 CST 2021
  System.out.println(dateFormat.parse(dateFormat.format(studentPlus.getDate())));
}

3.數據庫為timestamp類型, Java程序中為Date類型會展示

  • 原始
    • 2021-06-30T08:27:30.000+0000
  • 格式化, 實體類時間字段加注解: @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    • 展示: 2021-06-30 16:27:30

  1. 方法二, 將timestamp類型 轉換為 yyyy-MM-dd HH:mm:ss
    String a = "2021-05-14T23:30:35+08:00";
    LocalDateTime date = LocalDateTime.parse(a, DateTimeFormatter.ISO_OFFSET_DATE_TIME);
    String dateString = date.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
    System.out.println("dateString:" + dateString);
    // TODO: dateString:2021-05-14 23:30:35

  1. yyyy-MM-dd HH:mm:ss格式 轉換為 timestamp類型


免責聲明!

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



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