Heim > Artikel > Backend-Entwicklung > So konvertieren Sie Datum und Uhrzeit in PHPExcel in einen PHP-Zeitstempel
Wenn wir PHPExcel (eine hochwertige PHP-Excel-Lese- und Schreibbibliothek) zum Verarbeiten von Excel-Dateien verwenden, müssen wir normalerweise die Datums- oder Zeitdaten in der Excel-Tabelle für die entsprechende Geschäftsverarbeitung in das PHP-Zeitstempelformat konvertieren. Wie konvertiert man also Datum und Uhrzeit in PHPExcel in einen PHP-Zeitstempel?
Zunächst müssen wir wissen, dass das Zeit- und Datumsformat von PHPExcel auf dem Excel-internen „1. Januar 1900“ basiert und in Tagen berechnet wird. Das heißt, es gibt einen Zeitversatz zwischen dem Excel-Datum und dem PHP-Zeitstempel. Wenn wir die offizielle Dokumentation von PHPExcel konsultieren, können wir die folgende Berechnungsformel erhalten:
$timestamp = ($excelTime - 25569) * 86400;
Darunter repräsentiert $timestamp den PHP-Zeitstempel und $excelTime das Zeitformat in Excel. 25569 ist eine Konstante, die den Datumsoffset von Excel darstellt, da der Startpunkt des Excel-Datums der 1. Januar 1900 ist, was 25569 Tagen entspricht, die im UNIX-Zeitstempel vom 1. Januar 1970 nach vorne verschoben wurden.
Als nächstes lesen wir mit PHPExcel die Datumsdaten in der Excel-Tabelle und konvertieren sie mithilfe der obigen Formel in das PHP-Zeitstempelformat. Der Code lautet wie folgt:
// 引入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;
Hier lesen Sie die Datumszelle in der ersten Zeile und ersten Spalte von Excel Lesen Sie beispielsweise den Wert der Zelle, berechnen Sie den PHP-Zeitstempel mithilfe der obigen Formel und geben Sie ihn auf dem Bildschirm aus. Wir können diesen Code in eine Funktion kapseln, sodass er mehrfach im Programm verwendet werden kann:
function excelTimeToTimestamp($excelTime) { return ($excelTime - 25569) * 86400; }
Hinweis: Wenn das Zeitformat, das Sie aus Excel lesen, „Datumszeitformat mit Stunden, Minuten und Sekunden“ ist, müssen Sie es ändern 86400 Es ist 86400+3600*8, da die chinesische Standardzeitzone der Greenwich Mean Time Zone 8 Stunden voraus ist.
Schließlich sollten wir in der Lage sein, die Datums- und Zeitdaten von PHPExcel problemlos in das PHP-Zeitstempelformat zu konvertieren und dann die entsprechende Geschäftsverarbeitung durchzuführen.
Das obige ist der detaillierte Inhalt vonSo konvertieren Sie Datum und Uhrzeit in PHPExcel in einen PHP-Zeitstempel. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!