자바스크립트에서 String을 Date로 바꾸는 코드는 크게 2가지가 있다.

1번

var src = '2018-11-29'; var values = src.split('-'); var date1 = new Date(values[0], Number(values[1])-1, values[2]); console.log( date1.toISOString() ); // 2018-11-28T15:00:00.000Z console.log( date1 ); // Sat Nov 29 2018 00:00:00 GMT+0900


2번
var src = '2018-11-29';
var date2 = new Date(Date.parse(src));
console.log( date2.toISOString() );         // 2018-11-29T00:00:00.000Z
console.log( date2 );                       // Thu Nov 29 2018 09:00:00 GMT+0900

위 두가지 모두 Date 객체로 변환되는데 얼핏 보면 두 값 모두 같을 것 같다.
하지만 밀리세컨드로 값을 표시하면?

date1.getTime();        // 1543417200000
date2.getTime();        // 1543449600000

값이 다르다.

1번의 경우 GMT 기준으로 변환(parse) 한다. 
그래서 GMT 기준으로 출력하게 되면 값이 제대로 나오는데 ISO표준으로 출력하게 되면 GMT를 무시한 값을 출력한다. 
그래서 출력값이 29일이 아닌 28일이 되어버린다. (GMT 9시간 빼버림)

2번의 경우 GMT 기준이 아닌 애초에 UTC (GMT + 0) 기준으로 변환 해버린다.
그래서 ISO표준으로 출력하게 되면 애초에 GMT 무시한 값이기 때문에 29일이라고 나온다.

date1과 date2의 차이는 32400000인데 이 값은 (60 * 60 * 9 * 1000) 와 같다.


국가간 시스템에서 GMT 계산하느냐 안하냐느냐는 큰 문제이므로 통일해서 사용한다.


'Web > 스크립트 일반' 카테고리의 다른 글

숫자 뒤 % 붙이기.  (0) 2017.11.30
숫자 외 몇몇 키 만 입력받기  (0) 2017.11.30
String to Date  (0) 2017.11.29
Object to XML  (0) 2013.11.07
자바스크립트 Array remove  (0) 2013.08.28
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation


jxls 라이브러리를 사용하면성 기존에 있던 log4j와 jxls에서 사용하는 slf4j가 충돌아닌 충돌이 나더라...



로그에 나온 링크로 가보면 저렇게 써 있을 뿐 정확한 안내는 없다.
(실은 저게 정확할 수도..?)

라이브러리 로드 순서도 영향이 있을까 싶어 아래처럼 pom.xml 을 수정하니 정상적으로 로그가 출력된다.

		<!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-api -->
		<dependency>
		    <groupId>org.slf4j</groupId>
		    <artifactId>slf4j-api</artifactId>
		    <version>1.7.25</version>
		</dependency>

		<!-- https://mvnrepository.com/artifact/org.slf4j/jcl-over-slf4j -->
		<dependency>
		    <groupId>org.slf4j</groupId>
		    <artifactId>jcl-over-slf4j</artifactId>
		    <version>1.7.25</version>
		</dependency>

		<!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-log4j12 -->
		<dependency>
		    <groupId>org.slf4j</groupId>
		    <artifactId>slf4j-log4j12</artifactId>
		    <version>1.7.25</version>
		</dependency>

		<!-- https://mvnrepository.com/artifact/log4j/log4j -->
		<dependency>
		    <groupId>log4j</groupId>
		    <artifactId>log4j</artifactId>
		    <version>1.2.17</version>
		</dependency>


잘 된다... 

Market에서 SVN을 설치한 후 restart 하면 Connector 설치 창이 떴었는데 Oxygen 부터는 그게 안뜨더라..


[Window - Preferences - SVN - SVN Connector] 에서 connector 설치가 가능한데 문제는...


오류로 창이 닫힌다는 것...


마켓 플레이스에서 확인해 보니 이클립스 버그이고... 

This is the official info from the Subversive team regarding the installation problem that happens on Oxygen.

The problem happens due to the issues in Eclipse Installation Wizard. We've reported the corresponding but to Eclipse platfom: https://bugs.eclipse.org/bugs/show_bug.cgi?id=519284#c5


저 링크에 들어가면 해결법이 있다....


[Help - install new software] 에서 아래 주소를 입력하면 connector 설치가 가능하다.

    > http://community.polarion.com/projects/subversive/download/eclipse/6.0/update-site/


아침부터 이것 때문에 2시간 날림...


  1. nn 2017.11.20 11:35 신고

    감사합니다.

  2. phg17 2017.11.20 14:48 신고

    좋은정보 공유해주셔서 감사합니다

  3. MrLee 2017.11.21 14:36 신고

    옥시젠 문제가 많아요~ㅠ

  4. louisiaru 2017.11.22 11:14 신고

    정말 감사합니다ㅠ 덕분에 해결했습니다

  5. jk 2017.12.26 11:42 신고

    감사합니다 저도 이것때문에 해메고 있었어요

  6. json 2018.02.13 09:58 신고

    팩폭배님 덕분에 20분 해메고 끝냈습니다.
    감사합니다~

+ Recent posts