일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- Spring Boot
- 구글캘린더api
- 처음만나는자바스크립트
- springboot
- 자바스크립트기초
- react
- CSS
- mybatis
- 코딩
- 스프링부트
- spring
- 웹
- 자바스크립트 기초
- 기초 코딩
- 자바
- Javascript
- js
- 구글 oauth
- java
- 기초코딩
- 마이바티스
- 리액트프로젝트세팅
- 자바스크립트
- HTML
- 리액트초기세팅
- 전자정부 서버세팅
- javaspring
- 웹앱
- 자바스크립트기초문법
- 리액트세팅
- Today
- Total
인생 디벨로퍼
date 타입 날짜 받기 본문
날짜 정보를 date 타입으로 받는다
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ include file="layout/header.jsp" %>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>HelloJSP</title>
</head>
<body>
<form action="/test" method="get">
<input type="date" name="createdAt" />
<button>날짜전송</button>
</form>
</body>
</html>
<%@ include file="layout/footer.jsp" %>
@Controller
public class HomeController {
@GetMapping("/home")
public String home() {
return "home";
}
}
controller 와 view 를 간단히 만들어 테스트 한다.
1. "get" 데이터 형상을 확인함 2023-02-14
- 추측 : String으로는 받을 수 있다. (가능 - 2023-02-08)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>HelloJSP</title>
</head>
<body>
<form action="/test" method="post">
<input type="date" name="createdAt" />
<button>날짜전송</button>
</form>
</body>
</html>
@PostMapping("/test")
public @ResponseBody String hello(String createdAt) {
return createdAt;
}
2. Date 타입으로 받아짐. java.sql.Date
package shop.mtcoding.rodongin;
import java.sql.Date;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
public class HomeController {
@GetMapping("/home")
public String home() {
return "home";
}
@PostMapping("/test")
public @ResponseBody Date hello(Date createdAt) {
return createdAt;
}
}
3. java.util.Date로는 안받아짐
package shop.mtcoding.rodongin;
import java.util.Date;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
public class HomeController {
@GetMapping("/home")
public String home() {
return "home";
}
@PostMapping("/test")
public @ResponseBody Date hello(Date createdAt) {
return createdAt;
}
}
4. Timestamp로는 못받음. yyyy-mm-dd hh:mm:ss
package shop.mtcoding.rodongin;
import java.sql.Timestamp;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
public class HomeController {
@GetMapping("/home")
public String home() {
return "home";
}
@PostMapping("/test")
public @ResponseBody Timestamp hello(Timestamp createdAt) {
return createdAt;
}
}
5. LocalDateTime으로도 못받음.
package shop.mtcoding.rodongin;
import java.time.LocalDateTime;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
public class HomeController {
@GetMapping("/home")
public String home() {
return "home";
}
@PostMapping("/test")
public @ResponseBody LocalDateTime hello(LocalDateTime createdAt) {
return createdAt;
}
}
-----------------------------------------------------------------
설계 (DB가 Timestamp)
1. String으로 받아서 Timestamp로 변환 -> DB insert
package shop.mtcoding.rodongin;
import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.junit.jupiter.api.Test;
public class DateTest {
@Test
public void date1() {
String currentTimestampToString = "2022/12/12 00:00:00";
// String to Timestamp
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
dateFormat.setLenient(false);// 날짜와 시간을 엄격하게 확인
try {
Date stringToDate = dateFormat.parse(currentTimestampToString);
Timestamp stringToTimestamp = new Timestamp(stringToDate.getTime());
System.out.println(stringToTimestamp);
} catch (Exception e) {
e.printStackTrace();
}
}
}
2. Date로 받아서 Timestamp로 변환 -> DB insert
String currentTimestampToString = "2022/12/12 08:03:15";
// String to Timestamp
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
dateFormat.setLenient(false);// 날짜와 시간을 엄격하게 확인
try {
Date stringToDate = dateFormat.parse(currentTimestampToString);
Timestamp stringToTimestamp = new Timestamp(stringToDate.getTime());
System.out.println(stringToTimestamp);
} catch (ParseException e) {
e.printStackTrace();
}
설계 (DB가 Date로..)
1. java.sql.Date가 DB에 Date타입에 insert가 되는가?
변경 확인!
'Project > Mini Project - Rodonin (구인구직)' 카테고리의 다른 글
이력서 리스트 만들기 쿼리 / 절대 간단하지 않은 join (0) | 2023.03.07 |
---|---|
개인정보 뿌리기 (select, inner join) / 가장 간단한 inner join (0) | 2023.03.06 |
개인정보 detail 필수값 뿌리기 (select) (0) | 2023.03.06 |
개인정보 insert (form) (0) | 2023.03.06 |
Ajax를 이용한 update (개인정보 수정) (0) | 2023.02.27 |