Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Panduan untuk Manipulasi Tarikh dan Masa dalam PHP

Panduan untuk Manipulasi Tarikh dan Masa dalam PHP

王林
王林asal
2023-05-22 17:01:363471semak imbas

Operasi tarikh dan masa adalah bahagian penting dalam pembangunan PHP. Sama ada memproses masa pendaftaran pengguna atau merekodkan masa, tarikh dan masa penerbitan artikel perlu diproses. Artikel ini akan memperkenalkan secara terperinci cara mengendalikan tarikh dan masa dalam PHP, dengan harapan dapat membantu pembangun PHP.

1. Cap masa

Cap masa ialah kaedah menyatakan masa dalam saat, biasanya dari 1 Januari 1970 00:00:00 UTC hingga masa semasa Bilangan saat. Dalam PHP, anda boleh menggunakan fungsi time() untuk mendapatkan cap masa semasa:

echo time();

Output:

1602603419

Perlu diingat bahawa fungsi time() mengembalikan cap waktu dalam zon waktu daripada pelayan semasa. Jika anda perlu mendapatkan cap masa dalam zon waktu tertentu, anda boleh menggunakan objek DateTime untuk penukaran, yang akan diperkenalkan kemudian.

2. Pemformatan tarikh

Untuk cap waktu, kita boleh menggunakan fungsi date() untuk memformatkannya ke dalam rentetan tarikh yang kita perlukan. Parameter pertama fungsi date() ialah format tarikh, yang boleh mengandungi pelbagai ruang letak untuk mewakili elemen tarikh dan masa yang berbeza. Berikut ialah beberapa ruang letak yang paling biasa digunakan:

占位符 描述
Y 年份,四位数
m 月份,两位数
d 日期,两位数
H 小时,两位数,24小时制
i 分钟,两位数
s 秒数,两位数

Contohnya, tukar cap masa kepada format hari bulan tahun:

echo date('Y-m-d', time());

Output:

2020-10-13

Tukar cap waktu Tukar hingga format tarikh dan masa dengan jam, minit dan saat:

echo date('Y-m-d H:i:s', time());

Output:

2020-10-13 09:43:39

3. Pengiraan tarikh

Dalam pembangunan, kadangkala anda perlu menambah atau menolak tarikh, seperti mendapatkan Tarikh 10 hari kemudian. PHP menyediakan kelas DateTime untuk pengiraan tarikh yang mudah.

Mula-mula anda perlu mencipta objek DateTime Anda boleh menghantar rentetan tarikh dalam pembina, atau gunakan kaedah createFromFormat() untuk mencipta objek mengikut format yang ditentukan:

$dateTime = new DateTime('2020-10-13');
// 或者
$dateTime = DateTime::createFromFormat('Y-m-d', '2020-10-13');

Kemudian anda boleh menggunakan kaedah tambah () dan kaedah sub() melaksanakan operasi tambah dan tolak. Contohnya, dapatkan tarikh 10 hari kemudian:

$dateTime->add(new DateInterval('P10D'));
echo $dateTime->format('Y-m-d');

Output:

2020-10-23

Antaranya, P10D mewakili awalan P (mewakili selang masa), dan 10 mewakili bilangan hari dalam selang waktu.

Selain itu, anda juga boleh menggunakan kaedah modify() untuk menambah dan menolak tarikh. Contohnya, dapatkan masa selepas 3 jam:

$dateTime->modify('+3 hours');
echo $dateTime->format('Y-m-d H:i:s');

Output:

2020-10-13 12:43:39

4. Pemprosesan zon waktu

Dalam PHP, kedua-dua rentetan cap waktu dan tarikh masa berkaitan dengan zon waktu . Secara lalai, PHP menggunakan tetapan zon waktu pelayan. Walau bagaimanapun, semasa pembangunan, anda mungkin perlu berurusan dengan masa dalam zon waktu yang berbeza, dalam hal ini zon waktu perlu diproses.

Dalam PHP, anda boleh menggunakan fungsi date_default_timezone_set() untuk menetapkan zon waktu, contohnya:

date_default_timezone_set('Asia/Shanghai');

Selepas menetapkan, semua tempat yang menggunakan fungsi date() untuk mendapatkan tarikh dan masa akan menggunakan zon waktu yang ditentukan. Begitu juga, untuk pemprosesan cap masa, kelas DateTime dan kaedah yang berkaitan juga harus digunakan untuk mengelakkan isu zon waktu.

Selain itu, jika anda perlu menukar antara zon waktu yang berbeza, anda juga boleh menggunakan kaedah setTimeZone() dan kaedah getTimeZone() yang disediakan oleh kelas DateTime. Sebagai contoh, tukar objek tarikh dan masa dalam zon masa semasa kepada objek tarikh dan masa dalam zon waktu lain:

$dateTime = new DateTime('2020-10-13 09:43:39', new DateTimeZone('Asia/Shanghai'));
echo $dateTime->format('Y-m-d H:i:s');
// 输出:2020-10-13 09:43:39

$dateTime->setTimeZone(new DateTimeZone('America/New_York'));
echo $dateTime->format('Y-m-d H:i:s');
// 输出:2020-10-12 21:43:39

Tetapkan zon masa sasaran melalui kaedah setTimeZone() dan kemudian formatkannya menjadi rentetan melalui kaedah format().

5. Ringkasan

Artikel ini memperkenalkan operasi tarikh dan masa dalam PHP, termasuk cap masa, pemformatan tarikh, pengiraan tarikh dan pemprosesan zon waktu. Dalam pembangunan sebenar, menguasai operasi ini sangat berguna dan boleh meningkatkan kecekapan pembangunan dan keteguhan program. Saya harap artikel ini akan membantu pembangun PHP.

Atas ialah kandungan terperinci Panduan untuk Manipulasi Tarikh dan Masa 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