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 함수는 밀리초 가 아니고 그냥 초 단위임.

1)
참고로, Mysql 이나 PHP 의 시간은 그냥 초 (Second) 단위