Javascript Date
기준일
유닉스 시간의 기준이 되는 날짜는
new Date(0)
Wed Jan 01 2020 09:00:00 GMT+0900 (한국 표준시) {}
1970년 1월 1일 이고 목요일이다.
현재시간
현재 시간은
new Date()
Tue Jun 25 2019 12:44:32 GMT+0900 (한국 표준시) {}
유닉스 시간은
new Date().getTime()
1561432805145
이 것은 기준일로부터의 시간경과를 나타내는 숫자인데 단위는 millisecond 이다(1/1000초). 1)
며칠째 되는 날?
new Date().getTime()/(24*60*60*1000)
18072.140916377313
단위가 밀리세컨드 이므로, 1000 mSec, 60초, 60분, 24시간 으로 숫자를 나누어주면 오늘이 기준일 이후 18072 번째 날인 것을 알 수 있다.
요일
이 값을 7로 나눈 나머지에서 3을 빼면 (기준일이 목요일 이므로) 해당일의 요일이 된다.
new Date().getTime()/(24*60*60*1000) % 7 - 3
2.1598194097205123
1이 월요일이고, 6이 토요일, 0이 일요일.
위의 내용은 Date() 함수와 유닉스 시간의 원리를 설명하기 위한 것이고 당연히 요일을 구하는 기능도 자바스크립트에 포함이 되어 있다.
new Date().getDay()
2
몇번째 주 일까?
Math.floor(Math.floor((new Date().getTime()-3 * 24*60*60*1000 )/(24*60*60*1000)) / 7)
2581
1970년 1월 1일 이후로 2581 번재 주이다.
Math.floor 는 소수점 이하는 버리는 함수임.
참고로
MySQL 에서 UNIX_TIMESTAMP 함수는 밀리초 가 아니고 그냥 초 단위임.