본문 바로가기

JavaScript

[JavaScript] Date 관련 iOS에서의 문제

현재 개발중인 Application에서는 iOS에서는 `webkitwebview`, 안드로이드에서는 WebView를 활용하여 웹앱을 개발하고 있다.

 

개발 도중, iOS에서 특정 javascript 코드가 의도와는 전혀 달리 동작하여, 추후 확인 및 원인 분석을 위해 우선 기록해둔다.

 

문제가 됐던 코드 한 줄은 아래와 같다.

let time_string = '2022-04-21 14:50:03';
let time_date   = new Date(time_string);

 

각 YYYY, MM, DD, HH, mm, SS 영역은 항상 4자리 또는 2자리로 고정인 상태였다.

(2022-1-2 8:3:2가 아니라 2022-01-02 08:03:02)

 

우선 임시조치로 아래와 같이 처리해 둔 상태.

let time_string = '2022-04-21 14:50:03';
let time_date   = new Date();
//// 임시코드 시작
{
  let time_YYYY = parseInt(time_string.substr( 0, 4));
  let time_MM   = parseInt(time_string.substr( 5, 2));
  let time_DD   = parseInt(time_string.substr( 8, 2));
  let time_hh   = parseInt(time_string.substr(11, 2));
  let time_mm   = parseInt(time_string.substr(14, 2));
  let time_ss   = parseInt(time_string.substr(17, 2));

  time_date.setFullYear(time_YYYY  );
  time_date.setMonth   (time_MM - 1); // setMonth, getMonth는 -1 값 유의
  time_date.setDate    (time_DD    );
  time_date.setHours   (time_hh    );
  time_date.setMinutes (time_mm    );
  time_date.setSeconds (time_ss    );
}
//// 임시코드 종료

 

정확한 원인 분석 후 해당 글 수정해두도록 하겠습니다.

'JavaScript' 카테고리의 다른 글

JavaScript 날짜 ISOString 변환시 GMT 반영하기  (0) 2020.10.13