2016-08-07 4 views
-2

Google 스프레드 시트에 2015 년 10 월 31 일 0시 22 분 38 초의 값을 가진 셀이 있습니다. 그러나 데이터를 가져 오기 위해 스크립트를 작성하면 42521.015713761575가 반환됩니다. jquery convert number to date?에서 일부 코드를 시도했지만 대부분 1970 년으로 거슬러 올라갑니다. 위에서 지정한 날짜로 플로트를 어떻게 포맷 할 수 있습니까? 감사합니다 ... :)Google Apps Script _ 날짜를 float로 변환

+2

당신이 당신의 질문을 업데이트하십시오 수 :

다음과 같은 코드를 사용하여 UTC 날짜로 다시 변환 할 수 있습니다 (개월 제로 12 월 = 11, 그래서 참고) 당신의 스크립트로? –

+0

가능한 [Google 스프레드 시트에서 정확한 시간 값을 읽는 법] (http://stackoverflow.com/questions/17715841/how-to-read-the-correct-time-values-from-google-spreadsheet) –

답변

1

이것은 분명히 1899 년 12 월 30 일 00:00:00 이후 경과 일수입니다.

var x = 42521.015713761575; 
 

 
// seconds in day = 24 * 60 * 60 = 86400 
 
var date = new Date(Date.UTC(1899, 11, 30, 0, 0, x * 86400)); 
 

 
console.log(date.toUTCString());

+0

Wed, 01 Jun 2016 16:22:37 GMT는 JSFiddle의 결과입니다 ... 점점 가까워지고 있습니까? 어쩌면 시간대 문제일까요? :) –

+0

@MansonMamaril 나는 모든 사람이 똑같은 것을 볼 수 있도록 UTC 날짜를 만들기 위해 코드를 업데이트했다. :-) 나는 또한 예상 결과와 일치하도록 참조 일 (1900 년 1 월 1 일 2 일 전에)을 업데이트했다. 그러나 이것은 여전히 ​​매우 익살 맞고 신뢰할 수없는 것처럼 보입니다. 전 헌신적 인 방법을 찾아 볼 것을 권합니다. (확실 구글은 하나를 제공하지 않습니다?) – Arnauld

+0

나는 다른 stackoverflow에서 자습서와 utilities.formatdate를 시도했지만 그들은 또한 1970 년부터 날짜를 제공하고있어 ... –