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

PHPz
Lepaskan: 2023-03-29 14:27:59
asal
1264 orang telah melayarinya

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;
Salin selepas log masuk

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;
Salin selepas log masuk

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;
}
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan