Bagaimana untuk Mengira Jumlah Pembolehubah Masa dalam PHP Apabila Ia Menjangkau Berbilang Hari?

Barbara Streisand
Lepaskan: 2024-10-27 15:24:02
asal
456 orang telah melayarinya

How to Calculate the Sum of Time Variables in PHP When They Span Multiple Days?

Mengira Jumlah Pembolehubah Masa dalam PHP

Dalam aplikasi PHP anda, anda mungkin menghadapi keperluan untuk melaksanakan operasi aritmetik pada pembolehubah masa. Mari terokai senario tertentu di mana anda ingin menentukan jumlah dua pembolehubah masa, diwakili sebagai rentetan dalam format "HH:MM:SS".

Soalan:

Bagaimanakah cara saya menambah dua pembolehubah masa dalam PHP?

Jawapan:

Untuk menjumlahkan dua pembolehubah masa dengan betul dalam PHP, kita perlu menukarnya kepada cap masa Unix menggunakan fungsi strtotime(). Walau bagaimanapun, penukaran ini memperkenalkan sedikit percanggahan. Khususnya, fungsi strtotime() mentafsir masa sebagai dalam hari semasa. Oleh itu, apabila menukar dua masa yang tergolong dalam hari yang berbeza, kita perlu melaraskan salah satu cap masa untuk memastikan jumlah yang betul.

Penyelesaian:

  1. Tukar kedua-dua $time1 dan $time2 kepada cap waktu Unix menggunakan strtotime().

    <code class="php">$timestamp1 = strtotime($time1);
    $timestamp2 = strtotime($time2);</code>
    Salin selepas log masuk
  2. Kira perbezaan antara saat yang dikongsi oleh kedua-dua $time1 dan $time2. Perbezaan ini boleh dikira dengan menolak strtotime('00:00:00'), yang mewakili tengah malam, daripada cap masa yang lebih awal.

    <code class="php">$seconds_difference = min($timestamp1, $timestamp2) - strtotime('00:00:00');</code>
    Salin selepas log masuk
  3. Laraskan cap masa yang lebih awal dengan menolak $ perbezaan_saat.

    <code class="php">if ($timestamp1 < $timestamp2) {
       $timestamp1 -= $seconds_difference;
    } else {
       $timestamp2 -= $seconds_difference;
    }</code>
    Salin selepas log masuk
  4. Tambahkan cap masa yang dilaraskan bersama-sama.

    <code class="php">$timestamp_sum = $timestamp1 + $timestamp2;</code>
    Salin selepas log masuk
  5. Tukarkan jumlah cap masa kembali kepada "HH:MM: Format SS" menggunakan tarikh().

    <code class="php">$result = date('H:i:s', $timestamp_sum);</code>
    Salin selepas log masuk

Contoh:

Menggunakan nilai yang disediakan $time1 = "15:20: 00" dan $time2 = "00:30:00", penyelesaian di atas akan menghasilkan:

<code class="php">$timestamp1 = strtotime('15:20:00'); // 55200
$timestamp2 = strtotime('00:30:00'); // 1800
$seconds_difference = min(55200, 1800) - strtotime('00:00:00'); // 1800
$timestamp1 -= $seconds_difference; // 55200 - 1800 = 53400
$timestamp_sum = $timestamp1 + $timestamp2; // 53400 + 1800 = 55200
$result = date('H:i:s', $timestamp_sum); // "15:50:00"</code>
Salin selepas log masuk

Oleh itu, jumlah $time1 dan $time2 ialah "15:50:00".

Atas ialah kandungan terperinci Bagaimana untuk Mengira Jumlah Pembolehubah Masa dalam PHP Apabila Ia Menjangkau Berbilang Hari?. 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!