>  기사  >  백엔드 개발  >  PHPExcel의 날짜와 시간을 PHP 타임스탬프로 변환하는 방법

PHPExcel의 날짜와 시간을 PHP 타임스탬프로 변환하는 방법

PHPz
PHPz원래의
2023-03-29 11:31:431257검색

PHPExcel(고품질 PHP Excel 읽기 및 쓰기 라이브러리)을 사용하여 Excel 파일을 처리할 때 일반적으로 관련 비즈니스 처리를 위해 Excel 테이블의 날짜 또는 시간 데이터를 PHP 타임스탬프 형식으로 변환해야 합니다. 그렇다면 PHPExcel의 날짜와 시간을 PHP 타임스탬프로 변환하는 방법은 무엇입니까?

우선, PHPExcel의 시간 및 날짜 형식은 Excel의 내부 "1900년 1월 1일"을 기반으로 하며 일 단위로 계산된다는 점을 알아야 합니다. 즉, Excel 날짜와 PHP 타임스탬프 사이에 시간 오프셋이 있습니다. PHPExcel의 공식 문서를 참조하면 다음과 같은 계산식을 얻을 수 있습니다.

$timestamp = ($excelTime - 25569) * 86400;

그 중 $timestamp는 PHP 타임스탬프를 나타내고, $excelTime은 Excel의 시간 형식을 나타냅니다. 25569는 엑셀의 날짜 오프셋을 나타내는 상수이다. 왜냐하면 엑셀의 날짜 시작점이 1900년 1월 1일이기 때문이다. 이는 UNIX 타임스탬프에서 1970년 1월 1일로부터 앞으로 밀려난 25569일에 해당한다.

다음으로 PHPExcel을 사용하여 Excel 테이블의 날짜 데이터를 읽고 위 수식을 통해 이를 PHP 타임스탬프 형식으로 변환합니다.

// 引入PHPExcel库
require_once 'PHPExcel.php';
require_once 'PHPExcel/IOFactory.php';

// 加载Excel文件
$excelFile = 'demo.xlsx';
$objReader = PHPExcel_IOFactory::createReader('Excel2007');
$objPHPExcel = $objReader->load($excelFile);

// 获取活动sheet
$sheet = $objPHPExcel->getActiveSheet();

// 日期单元格所在的行和列
$row = 1;
$col = 'A';

// 读取日期单元格的值
$excelTime = $sheet->getCell($col.$row)->getValue();

// 计算PHP时间戳
$timestamp = ($excelTime - 25569) * 86400;

echo 'Excel时间戳为:' . $excelTime . '<br>';
echo 'PHP时间戳为:' . $timestamp;

여기에서 첫 번째 행과 첫 번째 열의 날짜 셀을 읽습니다. of Excel 예를 들어, 셀의 값을 읽고, 위의 수식을 이용하여 PHP 타임스탬프를 계산하여 화면에 출력합니다. 이 코드를 프로그램에서 여러 번 사용할 수 있도록 함수로 캡슐화할 수 있습니다.

function excelTimeToTimestamp($excelTime)
{
    return ($excelTime - 25569) * 86400;
}

참고: Excel에서 읽은 시간 형식이 "시, 분, 초가 포함된 날짜 시간 형식"인 경우 변경해야 합니다. 86400 중국 표준 시간대가 그리니치 표준 시간대보다 8시간 빠르기 때문에 86400+3600*8입니다.

마지막으로 PHPExcel의 날짜 및 시간 데이터를 PHP 타임스탬프 형식으로 쉽게 변환한 후 관련 비즈니스 처리를 수행할 수 있어야 합니다.

위 내용은 PHPExcel의 날짜와 시간을 PHP 타임스탬프로 변환하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.