Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Menukar Rentetan Masa HH:MM:SS kepada Jumlah Saat dalam PHP?

Bagaimanakah Saya Boleh Menukar Rentetan Masa HH:MM:SS kepada Jumlah Saat dalam PHP?

Patricia Arquette
Patricia Arquetteasal
2024-12-08 06:00:30497semak imbas

How Can I Convert HH:MM:SS Time Strings to Total Seconds in PHP?

Menukar Masa: HH:MM:SS kepada Detik Tulen

Apabila bekerja dengan masa, keperluan sering timbul untuk menukar rentetan masa dalam format HH:MM:SS menjadi integer ringkas yang mewakili jumlah bilangan saat. Untuk mencapai matlamat ini, seseorang boleh menggunakan pelbagai kaedah, seperti yang dipamerkan di bawah.

Penyelesaian:

Penyelesaian yang disediakan memanfaatkan ungkapan biasa gaya Perl dan sscanf( ) berfungsi untuk membedah rentetan masa dan mengekstrak maklumat jam, minit dan saat. Ia kemudian menggunakan aritmetik mudah untuk mengira jumlah bilangan saat.

Dengan menggunakan preg_replace() untuk melapik rentetan dengan sifar pendahuluan, kod memastikan format yang konsisten untuk fungsi sscanf() untuk menghuraikan tanpa mengira input format rentetan. Ini mengelakkan keperluan untuk pengendalian ralat tambahan atau kes khas untuk masa separa seperti "MM:SS."

Berikut ialah kod dalam tindakan:

$str_time = "23:12:95";

$str_time = preg_replace("/^([\d]{1,2})\:([\d]{2})$/", "00::", $str_time);

sscanf($str_time, "%d:%d:%d", $hours, $minutes, $seconds);

$time_seconds = $hours * 3600 + $minutes * 60 + $seconds;

echo $time_seconds; // Output: 83615

Dengan menggunakan pendekatan ini, anda boleh dengan mudah tukar rentetan masa dalam format HH:MM:SS kepada perwakilan jumlah saat yang setara.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menukar Rentetan Masa HH:MM:SS kepada Jumlah Saat dalam 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