ABOUT ME

Today
Yesterday
Total
  • moment
    Today I Learned 2019. 12. 29. 17:20

    문제

    클라이언트(ios, android)에서 게시글을 출력할 때, 서버로부터 날짜 포맷을 'YY.MM.DD'으로 받기를 원하나, mysql의 date 형식은 'YYYY-MM-DD'이다.

     

    해결

    moment 모듈을 이용해 클라이언트로 받은 날짜 형식대로 moment를 생성하고 format 함수를 이용해 'YYYY-MM-DD' 형식으로 바꾼 뒤, 쿼리를 실행한 후에 다시 'YY.MM.DD'로 바꿔 response를 전송한다.

     

    // 게시글 생성하기
    router.post('/', authutil.validToken, async (req, res) => {
    var {regionCode, title, content, startDate, endDate, filter} = req.body;
    startDate = moment(startDate, 'YY.MM.DD').format('YYYY-MM-DD');
    endDate = moment(endDate, 'YY.MM.DD').format('YYYY-MM-DD');
    if(!regionCode || !title || !content || !startDate || !endDate || !filter)
    {
    const missParameters = Object.entries({regionCode, title, content, startDate, endDate, filter})
    .filter(it => it[1] == undefined).map(it => it[0]).join(',');
    console.log(missParameters)
    res.status(statusCode.INTERNAL_SERVER_ERROR).send(utils.successFalse(responseMessage.X_NULL_VALUE(missParameters)));
    return;
    }
    // uploadTime에 현재 서울 시각 저장
    const uploadTime = moment().format('YYYY-MM-DD HH:mm:ss');
    // Token 통해서 userIdx 취득
    const userIdx = req.decoded.userIdx;
    const json = {regionCode, title, content, uploadTime, startDate, endDate, userIdx, filter};
    let result = await Board.create(json);
    if(result.length == 0)
    {
    res.status(statusCode.INTERNAL_SERVER_ERROR).send(utils.successFalse(responseMessage.BOARD_CREATE_FAIL));
    return;
    }
    result[0].startDate = moment(result[0].startDate, 'YYYY-MM-DD').format('YY.MM.DD');
    result[0].endDate = moment(result[0].endDate, 'YYYY-MM-DD').format('YY.MM.DD');
    res.status(statusCode.OK).send(utils.successTrue(responseMessage.BOARD_CREATE_SUCCESS, result));
    });
    view raw gistfile1.js hosted with ❤ by GitHub

     

    'Today I Learned' 카테고리의 다른 글

    VS Code 특정 단어 한번에 수정하기  (0) 2020.01.07
    AWS region에 따른 속도 차이  (0) 2020.01.03
    kill port  (0) 2019.12.29
    MYSQL JOIN문  (0) 2019.12.27
    .gitignore 재설정  (0) 2019.12.26
Designed by Tistory.