Maison  >  Article  >  développement back-end  >  Comment convertir la date et l'heure dans PHPExcel en horodatage PHP

Comment convertir la date et l'heure dans PHPExcel en horodatage PHP

PHPz
PHPzoriginal
2023-03-29 11:31:431189parcourir

Lorsque nous utilisons PHPExcel (une bibliothèque de lecture et d'écriture PHP Excel de haute qualité) pour traiter des fichiers Excel, nous devons généralement convertir les données de date ou d'heure du tableau Excel au format d'horodatage PHP pour le traitement commercial associé. Alors, comment convertir la date et l'heure dans PHPExcel en horodatage PHP ?

Tout d'abord, nous devons savoir que le format d'heure et de date de PHPExcel est basé sur le "1er janvier 1900" interne d'Excel et est calculé en jours. Autrement dit, il existe un décalage horaire entre la date Excel et l'horodatage PHP. En consultant la documentation officielle de PHPExcel, on peut obtenir la formule de calcul suivante :

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

Parmi elles, $timestamp représente l'horodatage PHP, et $excelTime représente le format de l'heure dans Excel. 25569 est une constante qui représente le décalage de date d'Excel, car le point de départ de la date d'Excel est le 1er janvier 1900, ce qui équivaut à 25569 jours avancés à partir du 1er janvier 1970 dans l'horodatage UNIX.

Ensuite, nous utilisons PHPExcel pour lire les données de date dans le tableau Excel et les convertir au format d'horodatage PHP via la formule ci-dessus :

// 引入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;

Ici pour lire la cellule de date dans la première ligne et la première colonne. d'Excel Par exemple, lisez la valeur de la cellule, calculez l'horodatage PHP à l'aide de la formule ci-dessus et affichez-le à l'écran. Nous pouvons encapsuler ce code dans une fonction afin qu'il puisse être utilisé plusieurs fois dans le programme :

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

Remarque : Si le format d'heure que vous lisez dans Excel est "format date/heure avec heures, minutes et secondes", vous devez le modifier 86400 Il s'agit de 86400+3600*8, car le fuseau horaire standard chinois est en avance de 8 heures sur le fuseau horaire moyen de Greenwich.

Enfin, nous devrions pouvoir convertir facilement les données de date et d'heure de PHPExcel au format d'horodatage PHP, puis effectuer le traitement commercial associé.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn