Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menukar format masa kepada format teks menggunakan PHP

Bagaimana untuk menukar format masa kepada format teks menggunakan PHP

PHPz
PHPzasal
2023-04-25 15:55:45903semak imbas

Dalam pembangunan sebenar, kita selalunya perlu menukar format masa kepada format teks untuk memaparkan atau menyimpan data dengan lebih baik. PHP ialah bahasa yang digunakan secara meluas, dan PHP menyediakan banyak alat dan fungsi untuk memproses masa.

Artikel ini akan memperkenalkan secara terperinci cara menggunakan PHP untuk menukar format masa kepada format teks.

1. Fungsi masa terbina dalam PHP

Sebelum menggunakan PHP untuk menukar format masa kepada format teks, anda perlu memastikan anda mempunyai pemahaman asas tentang fungsi masa terbina dalam PHP. Berikut ialah beberapa fungsi yang biasa digunakan:

  1. fungsi date() digunakan untuk memformat masa menjadi rentetan. Ia boleh menerima dua parameter: parameter pertama digunakan untuk menentukan format, dan parameter kedua digunakan untuk menentukan cap waktu. Jika parameter kedua kosong, cap masa semasa digunakan secara lalai.

Contoh:

echo date("Y-m-d"); // 输出当前日期

echo date("Y-m-d H:i:s", 1534949251); // 输出 2018-08-22 10:47:31
  1. Fungsi masa() digunakan untuk mendapatkan cap masa semasa. Ia tidak memerlukan sebarang parameter dan akan mengembalikan nilai integer yang mewakili bilangan saat yang telah berlalu sejak 1 Januari 1970.

Contoh:

echo time(); // 输出当前时间戳
  1. Fungsi strtotime() digunakan untuk menukar rentetan datetime kepada cap waktu. Parameternya ialah rentetan datetime, yang boleh menjadi teks datetime dalam sebarang format, termasuk format "tahun-bulan-hari" dan "jam:minit:saat" biasa.

Contoh:

echo strtotime('2018-08-22 10:47:31'); // 输出 1534949251

Di atas ialah beberapa fungsi masa PHP yang biasa digunakan. Seterusnya kita akan menggunakan fungsi ini untuk menukar format masa kepada format teks.

2. Tukar cap masa kepada format teks masa mesra

Biasanya, kami ingin menukar cap masa kepada format masa yang lebih mesra, seperti "1 jam yang lalu", "Semalam" ” , “7 hari yang lalu” dan seterusnya. Gabungan fungsi masa PHP boleh menyelesaikan tugas ini dengan mudah.

Berikut ialah contoh menukar cap masa kepada format teks masa mesra:

function friendly_date($timestamp) {

$current_time = time();
$delta_time = $current_time - $timestamp;

if ($delta_time < 60) {
    return '刚刚';
} elseif ($delta_time < 3600) {
    $min = floor($delta_time / 60);
    return $min . '分钟前';
} elseif ($delta_time < 86400) {
    $hour = floor($delta_time / 3600);
    return $hour . '小时前';
} elseif ($delta_time < 604800) {
    $day = floor($delta_time / 86400);
    if ($day == 1) {
        return '昨天';
    } else {
        return $day . '天前';
    }
} else {
    return date('Y-m-d', $timestamp);
}

}

Fungsi ini akan menukar cap masa kepada perihalan teks, seperti "3 jam yang lalu". Jika masa adalah dalam masa satu minit dari masa semasa, maka "hanya" dikembalikan; jika masa adalah dalam masa satu jam dari masa semasa, "xx minit yang lalu" dikembalikan jika masa adalah dalam masa satu hari dari masa semasa , "xx jam lalu" dikembalikan ; Jika masa dalam masa satu minggu dari masa semasa, kembalikan "semalam" atau "xx hari lalu"; format "tahun-bulan-hari".

3. Tukar cap waktu kepada format teks yang ditentukan

Jika kita perlu memformat masa ke dalam format tarikh dan masa tertentu, kita boleh menggunakan fungsi date(). Parameter pertama fungsi date() digunakan untuk menentukan format output Contohnya, "Y-m-d H:i:s" bermaksud format tahun-bulan-hari jam:minit:kedua.

Berikut ialah contoh mengeluarkan cap masa dalam format yang ditentukan:

fungsi format_date($timestamp, $format = 'Y-m-d H:i:s') {

return date($format, $timestamp);

}

Fungsi di atas akan mengeluarkan cap masa dalam format yang ditentukan. Jika tiada format tarikh ditentukan, format "Y-m-d H:i:s" digunakan secara lalai. Format output boleh disesuaikan mengikut keperluan.

4 Tukar rentetan masa ke dalam format teks dalam format yang ditentukan

Jika kita sudah mempunyai rentetan tarikh dan masa, kita boleh menggunakan fungsi strtotime() untuk menukarnya menjadi cap waktu , dan kemudian Gunakan fungsi date() untuk memformatkannya ke dalam teks dalam format yang ditentukan.

Berikut ialah contoh menukar rentetan masa tarikh kepada teks dalam format yang ditentukan:

function format_date_str($date_str, $format = 'Y-m-d H:i:s') {

$timestamp = strtotime($date_str);
return date($format, $timestamp);

}

Fungsi di atas akan mengeluarkan rentetan tarikh dan masa dalam format yang ditentukan. Jika tiada format tarikh ditentukan, format "Y-m-d H:i:s" digunakan secara lalai.

Ringkasan:

Artikel ini memperkenalkan cara menggunakan PHP untuk menukar format masa kepada format teks. Dengan menggunakan fungsi masa terbina dalam PHP, kami boleh menukar cap masa dengan cepat kepada teks atau teks mesra dalam format yang ditentukan. Dalam pembangunan sebenar, anda boleh menggunakan dua kaedah di atas seperti yang diperlukan untuk memformat masa ke dalam format teks yang lebih sesuai untuk paparan dan penyimpanan.

Atas ialah kandungan terperinci Bagaimana untuk menukar format masa kepada format teks menggunakan 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