til js로 언제 쓴글인지 표시하는 함수 만들어보기.

kdy·2023년 8월 15일
0

언제 쓴글인지 표시하는 함수 만들어보기.

js에서는 Date 객체를 UTC 자정기준으로 표기하며 unix와는 다름 이대 date를 표현하는 방법은 os나 프로그램, 언어에 따라 각각 다르며, 종종 동일한 시간객체를 선택하기도함.

이때 유의점은 js에서 시간객체를 const로 선언 했어도 우리가 보는 결과는 분명 달라짐.

setHours와 같은 메서드를 사용할 경우 해당 변수의 값은 변경됨, 정확하게는 값이 변경되는게 아니라 메모리상의 값 순서가 바뀌는것이라 실제 값은 변경되지않음.

const currentDate = new Date();

console.log(currentDate.toISOString());
*/
* ISO 타입으로 선언된 currentDate 
* 해당 상수를 메서드로 실행 시키면 결과값이 변경됨. 
*/
currentDate.setHours(currentDate.getHours() + 9);

console.log(currentDate.toISOString());

값이 변하는게 아니라 값의 순서가 변경되는 함수는 이것 외에도 몇가지가 있음.

일 수차이 계산

currentDate.getDay() - targetDate.getDay()

단순이 이렇게 적으면 확실히 며칠 차인지는 확인 가능하나,

년, 개월 수가 다를때 문제가 발생함

const currentDate = new Date();
const targetDate = new Date("2023-08-14");

/*
*
* getTime() 은 1970 년 1월 1일 UTC시간선 기준으로 
* 밀리초가 얼마나 흘렀나를 계산한 값임. 
*/
const DayDiff = (currentDate.getTime() - targetDate.getTime())/(24 * 60 * 60 * 1000)

console.log(Math.floor(DayDiff));```

이럴땐 절대 시간 값을 빼서 비교하는게 좋음.

물론 getDate나 getFullYear로 비교할수도 있는 방법이 있긴하지만, 해당 함수가 길어질 수 밖에 없음.

profile
빠르고 정확해야 혈압이 안오른다

0개의 댓글