JavaScript에서는 new Date()로 현재 날짜/시간을 얻을 수 있다. 내일, 어제, 10시간 전 등과 같은 시점의 시간을 구하기 위해서는 현재 날짜/시간을 기준으로 계산을 해야 한다. 이런 것에 대한 변환 함수를 제공하는 언어가 있는 반면 그렇지 않은 언어도 많다. 그래서, 귀찮게 그런 것 찾지 않고, timestamp 기반으로 계산하는 방법을 사용한다.
현재 Date를 얻은 후, timestamp로 변환하고 이 값에 특정 값을 더하거나 빼는 방식이다. 예를 들어 어제 시점의 값을 얻고 싶으면 하루에 대한 값을 빼면 된다. 하루는 24 * 60 * 60 초이며 millisecond 단위이므로 여기에 1000을 곱한다. 10시간 후는 24 대신 10을 넣으면 되고. 간단하다.
var today = new Date();
var today_ts = Date.parse(today);
console.log("today : " + today);
var yesterday_ts = today_ts - (60*60*24*1000);
var yesterday = new Date(yesterday_ts);
console.log("yesterday : " + yesterday);
var tomorrow_ts = today_ts + (60*60*24*1000);
var tomorrow = new Date(tomorrow_ts);
console.log("tomorrow : " + tomorrow);
결과
today : Sat Jul 31 2021 15:18:33 GMT+0900 (대한민국 표준시)
yesterday : Fri Jul 30 2021 15:18:33 GMT+0900 (대한민국 표준시)
tomorrow : Sun Aug 01 2021 15:18:33 GMT+0900 (대한민국 표준시)
만약, 각 값을 특정 값으로 바꾸고 싶다면 아래와 같이 할 수 있다. (ex. 오늘의 시작 시간, 0시 0분 0초로 변경)
var today = new Date();
today.setHours(0);
today.setMinutes(0);
today.setSeconds(0);
var today_ts = Date.parse(today);
console.log("today : " + today);
결과
today : Sat Jul 31 2021 00:00:00 GMT+0900 (대한민국 표준시)
그 외 부분은 아래 참조
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Date
'놀기 > 기초 공부' 카테고리의 다른 글
[오라클] 컬럼(Column) 추가 (0) | 2021.08.23 |
---|---|
[Node.js] express.js로 Hello World web server 만들기(왕초보 그냥 따라하기) (0) | 2021.08.08 |
vim, tab을 space로 변경 & tab size를 4로 변경 (0) | 2021.07.26 |
색온도 (Color Temperature) (0) | 2021.07.19 |
SPI 통신 정리 (0) | 2021.07.12 |
댓글