Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menukar tarikh dan masa dalam PHPExcel kepada cap waktu PHP

Bagaimana untuk menukar tarikh dan masa dalam PHPExcel kepada cap waktu PHP

PHPz
PHPzasal
2023-03-29 11:31:431257semak imbas

Apabila menggunakan PHPExcel (pustaka membaca dan menulis PHP Excel berkualiti tinggi) untuk memproses fail Excel, biasanya kami perlu menukar data tarikh atau masa dalam jadual Excel ke dalam format cap waktu PHP untuk pemprosesan perniagaan yang berkaitan. Jadi, bagaimana untuk menukar tarikh dan masa dalam PHPExcel kepada cap waktu PHP?

Pertama sekali, kita perlu tahu bahawa format masa dan tarikh PHPExcel adalah berdasarkan "1 Januari 1900" dalaman Excel dan dikira dalam hari. Iaitu, terdapat masa mengimbangi antara tarikh Excel dan cap waktu PHP. Dengan merujuk kepada dokumentasi rasmi PHPExcel, kita boleh mendapatkan formula pengiraan berikut:

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

Antaranya, $timestamp mewakili cap waktu PHP, dan $excelTime mewakili format masa dalam Excel. 25569 ialah pemalar yang mewakili tarikh mengimbangi Excel, kerana titik permulaan tarikh Excel ialah 1 Januari 1900, yang bersamaan dengan 25569 hari ditolak ke hadapan dari 1 Januari 1970 dalam cap waktu UNIX.

Seterusnya, kami menggunakan PHPExcel untuk membaca data tarikh dalam jadual Excel dan menukarkannya kepada format cap waktu PHP melalui formula di atas:

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

Di sini untuk membaca Excel Ambil sel tarikh dalam baris dan lajur pertama sebagai contoh Baca nilai sel, kira cap waktu PHP melalui formula di atas dan keluarkannya ke skrin. Kami boleh merangkum kod ini ke dalam fungsi untuk digunakan beberapa kali dalam program:

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

Nota: Jika format masa yang anda baca daripada Excel ialah "format masa tarikh dengan jam, minit dan saat" , anda perlu untuk menukar 86400 kepada 86400+3600*8, kerana zon waktu standard China adalah 8 jam lebih awal daripada zon Waktu Min Greenwich.

Akhir sekali, kita seharusnya dapat menukar data tarikh dan masa PHPExcel dengan mudah ke dalam format cap waktu PHP, dan kemudian melaksanakan pemprosesan perniagaan yang berkaitan.

Atas ialah kandungan terperinci Bagaimana untuk menukar tarikh dan masa dalam PHPExcel kepada cap waktu PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn