Heim  >  Artikel  >  Backend-Entwicklung  >  So konvertieren Sie Datum und Uhrzeit in PHPExcel in einen PHP-Zeitstempel

So konvertieren Sie Datum und Uhrzeit in PHPExcel in einen PHP-Zeitstempel

PHPz
PHPzOriginal
2023-03-29 11:31:431257Durchsuche

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn