Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk menentukan sama ada dua cap waktu adalah hari yang sama dalam php
Cara menggunakan PHP untuk menentukan sama ada dua cap waktu adalah satu hari: 1. Buat fail sampel PHP 2. Tetapkan "int time_zone = 8, daily_reset_time = 5;" 3. Lulus "bool IsTimeToReset(time_t last_reset_time, time_t cur_time){...}" kaedah boleh digunakan untuk menilai.
Persekitaran pengendalian tutorial ini: sistem Windows 7, PHP versi 8.1, komputer Dell G3.
Bagaimanakah PHP menentukan sama ada dua cap waktu adalah hari yang sama?
Untuk menentukan sama ada dua cap masa berada pada hari yang sama
Analisis idea
Untuk menentukan sama ada dua cap masa bukan pada hari yang sama , hanya Bahagikan saat mutlak setiap dua hari dengan 24 * 3600 untuk mendapatkan berapa hari telah berlalu dari zaman hingga sekarang Jika perbezaan antara kedua-dua keputusan lebih besar daripada 0, ia menunjukkan bahawa ia bukan hari yang sama dan perlu ditetapkan semula. Tetapi terdapat dua faktor yang perlu dipertimbangkan:
Pertama, masa semasa tolak titik masa tetapan semula yang ditetapkan (seperti pukul 5 setiap hari), kerana ia ditetapkan semula pada pukul 5, tolak 5*3600 untuk memastikan semasa Masa lebih besar daripada atau sama dengan titik masa set semula, iaitu pukul 5 pada hari itu.
Yang kedua ialah detik mutlak ditambah dengan bahagian cap waktu yang sepadan dengan zon waktu yang sepadan, supaya masa yang diperoleh sepadan dengan waktu tempatan. Contohnya, tanpa menambah zon waktu, apa yang anda dapat ialah bilangan hari sejak 00:00:00 Waktu Purata Greenwich pada 1 Januari 1970. Waktu Beijing adalah 8 jam lebih awal daripada Waktu Purata Greenwich Pukul 16 dalam waktu A.S. bersamaan dengan pukul sifar pada hari berikutnya dalam waktu Beijing Apa yang perlu kita kira dari segi masa ialah perbezaan hari yang sepadan dengan masa dalam zon waktu ini, jadi kita perlu menambah. zon waktu. Masa yang terhasil ialah zon_masa * 3600
Pelaksanaan kod
int time_zone = 8, daily_reset_time = 5; time_t BetweenDays(time_t time1, time_t time2) { return (time1 + time_zone *3600)/3600/24 - (time2 + time_zone *3600)/3600/24; } /* * last_reset_time 为上次执行的每日重置时间 * cur_time 为当前时间 */ bool IsTimeToReset(time_t last_reset_time, time_t cur_time) { return BetweenDays(cur_time - 3600 * daily_reset_time, last_reset_time - 3600 * daily_reset_time) > 0; }
Pembelajaran yang disyorkan: "Tutorial Video PHP"
Atas ialah kandungan terperinci Bagaimana untuk menentukan sama ada dua cap waktu adalah hari yang sama dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!