React
[React] axios 통신 중 mysql의 timestamp 타입 데이터 가져와서 한국 시간으로 변환하는 방법
dong_su
2024. 1. 8. 23:44
아래는 원하는 데이터가 들어있는 mysql 테이블이다.
createdAt 컬럼의 데이터들은 글로벌 표준시(UTC)이기 때문에 유저가 보기 좋게 한국 시간으로 바꿔야 한다.
변환 방법
// axios 통신중 부분 코드
.then((res) => {
console.log(res.data.items);
const userData = res.data.items.map(user => ({
userId: user.userId,
userNickname: user.userNickname,
userEmail: user.userEmail,
postingId: user.postingId,
imageUrl: user.imageUrl,
content: user.content,
createdAt: new Date(user.createdAt + 'Z').toLocaleString('en-US', { timeZone: 'Asia/Seoul' }), // 한국 시간대로 변환
postingCnt: user.postingCnt,
followingCnt: user.followingCnt,
followersCnt: user.followersCnt,
}))
setUserInfo(userData);
})
// 아래는 생략
new Date(user.createdAt + 'Z').toLocaleString('en-US', { timeZone: 'Asia/Seoul' })를 사용해서
받은 데이터의 createdAt값을 한국 시간대로 변환한다.
'Z'는 UTC 시간을 나타내며, toLocaleString 메소드를 사용하여 지역 시간대로 변환하면 된다.