2013-02-28 6 views
1

Numbers 파일을 HTML 테이블로 변환하는 스크립트를 PHP에서 작성하고 있지만 어떤 형식이 날짜 저장에 사용되는지 알 수 없습니다.날짜 값을 float로 - Apple의 iWork Numbers 09 - 내부 XML

<sf:d 
    sf:s="SFTCellStyle-128" 
    sf:w="84.074219" 
    sf:h="14" 
    sf:cell-date="371397519.99999952" /> 

그래서 날짜가 김포에 있어야합니다 같은 날짜 세포 태그 같습니다 세포 날짜 속성,하지만 난 사람이 읽을 수있는 형식으로 변환하는 방법을 알아낼 수 없습니다. 어떤 아이디어? 나는 날짜 값을 float 숫자로 본 적이 없다.

+0

그리고 추가 정밀도가있는 UNIX 시간 소인이 아닙니다. –

+1

01/01/2001 00:00:00 이후의 초 수. – hakre

+0

371397519.99999952 2012-10-08 13:58 –

답변

0

주석에 쓰여 있듯이, 01/01/2001 00:00:00 이후의 초 수입니다. 그 지식을 갖추고 있으며 이것이 UNIX Epoch과 함께 진행되기 때문에 오프셋을 정의하고 사용하는 것만으로도 충분합니다. 그것은 date으로, 예를 들어, 거의 모든 기존의 PHP 날짜 함수와 객체와 호환되어야합니다 :

define('CELL_DATE_EPOCH_OFFSET', 978307200); 

$sf_cell_date = 371397519.99999952; 

echo date('r', CELL_DATE_EPOCH_OFFSET + $sf_cell_date); 

이 작은 스크립트의 출력은 (내 시간대에)입니다 :

Mon, 08 Oct 2012 15:58:39 +0200 

나는 희망 이것은 도움이됩니다. 97830720001/01/2001 00:00:00 UTC의 유닉스 타임 스탬프, 당신은 다음 코드 예제 예를 들어 PHP로 얻을 수 있습니다 :

$base = new DateTime('01/01/2001 00:00:00 UTC'); 

echo $base->getTimestamp(), "\n"; 

을 문제였다 경우.