Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Menukar Rentetan Masa HH:MM:SS kepada Jumlah Saat dalam 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!