Node JS 에서 MySql 을 이용해서 작업하는데


DateTime 타입인 컬럼에 값이 '2010-10-10 20:20:00'  라고 입력이 되어 있는데


이 값을 꺼내서 쓸라고 보니까 'Wed, 04 Jul 2012 02:06:00 GMT'  요딴 식으로 튀어 나오네...젠장


분명히 시간이 틀려졌다...20시 20분인데 꺼내서 보니까 02:06 이다.


저거를 한국 시간으로 바꾸자



코드

var _date = new Date(new Date(resultList[i].meetTime).toLocaleString();)


이제 이 값을 아래 메소드로 빼 쓰면 된다.


getFullYear()


d.getMonth() + 1 // 달은 +1 을 해줘야 된다.


d.getDate()


d.getHours()


d.getMinutes()


d.getSeconds()


더 쉬운 방법을 아시는 분은 좀 가르쳐주세요 ㅎㅎ

YOUR COMMENT IS THE CRITICAL SUCCESS FACTOR FOR THE QUALITY OF BLOG POST



DB에 저장되어있는 컬럼 중에 DATE 타입에 대한 연산이 필요할 때가 있다.

예를 들어 지금시간으로부터 12시간안의 모든 레코드를 필요로 한다던지,

지금시간으로부터 12시간 이전의 자료를 모두 삭제한다던지 할때 DATE 형이 시간이 기록되어 있다면

시간까지 연산가능하고, 만약 시간이 기록되지 않은 DATE 타입이면 날짜연산만 가능하다. 




UPDATE sample SET state = 'done' WHERE date < DATE_ADD(now(), INTERVAL -6 hour)

 ↑ 해석 : sample 테이블의 date 컬럼의 시간이

             현재(now()) 시간으로부터 6시간전의 시간을 기준으로 그 이전시간 레코드의
             state 컬럼을 'done'으로 다 입력한다. 




DATE_ADD(now(), INTERVAL -6 hour)

↑ 이 문장에서 hour 대신에 year, day, minute, second 로 바꿀 수 있다.

맨위 코드에서 '<' 를 '>' 로 바꾸게되면

6시간전을 기준으로 이전레코드가 아니라, 현재시간으로부터 6시간내의 자료만 가져올 것이다.


헷갈린다면 한번 해보면 확실할 것.

YOUR COMMENT IS THE CRITICAL SUCCESS FACTOR FOR THE QUALITY OF BLOG POST