let doc = {
date: new Date()
};
파이어베이스에서 key값(?) date값을 가지고오려고 new Date() 함수를 사용해서 date값을 가지고와야한다.
const row = doc.data();
row에다가 doc.data()의 값을 가져와 row로 저장한다.
const date = row['date'];
console.log(date);
// nanoseconds: 649000000
// seconds: 1697023427
// [[Prototype]]: Object
row['date']의 값을 date값에 넣어 console.log로 확인해보면 다음같이 나온다.
const day = date.toDate()
console.log(day);
// Wed Oct 11 2023 20:23:47 GMT+0900 (한국 표준시)
date에 있는 정보를 보기 쉽게하려면 firebase에서 timestamp을 이용해야되는데 거기서 사용되는 함수가 .toDate() 사용해서 요일 월 일 년 시간을 알수 있다.
var year = day.getFullYear();
var month = ('0' + (day.getMonth() + 1)).slice(-2);
var days = ('0' + day.getDate()).slice(-2);
String.prototype.padStart() 개념과 비슷한 개념임
날짜 추출 함수를 사용할때 주의해야 할 점은 getMonth() 함수인데, getMonth() 함수는 0~11을 반환하기 때문에 항상 +1을 해줘야한다. 그리고 getMonth(), getDate() 함수는 수치 값을 반환하기 때문에 2자리를 맞추기 위해서는 "0"을 붙여서 뒤에서 2자리만 잘라서 값을 변환해야 한다.
var dateString = year + '-' + month + '-' + days;
var hours = ('0' + day.getHours()).slice(-2);
var minutes = ('0' + day.getMinutes()).slice(-2);
var seconds = ('0' + day.getSeconds()).slice(-2);
시간 포맷 변환 또한 날짜와 비슷하며, getHours(), getMinutes(), getSeconds() 함수도 수치 값을 반환하기 때문에 2자리를 맞추기 위해서는 "0"을 붙여서 뒤에서 2자리를 잘라줘야 한다.
var timeString = hours + ':' + minutes + ':' + seconds;
콘솔에 찍어서 한번 확인해보기!!(완-성!!)
console.log(dateString); // 2023-10-11
console.log(timeString); //20:23:47