Sebelum anda mempelajari fungsi tarikh secara rasmi, anda perlu memahami beberapa konsep:
1. Zon waktu
2. Waktu universal
3. Konsep cap waktu unix
zon waktu
telah banyak didengari sebelum ini. Katakan beberapa perkataan Kawasan sebenar yang kita gunakan dalam kehidupan sebenar juga dikawal dalam komputer.
Apabila Persidangan Longitud Antarabangsa diadakan di Washington pada tahun 1884, untuk mengatasi kekeliruan masa, dunia telah dibahagikan kepada 24 zon waktu.
Di China, waktu di Daerah Dongba, di mana ibu kota Beijing terletak, diterima pakai sebagai waktu bersatu kebangsaan.
Waktu Sejagat
Bukan sahaja ahli astronomi menggunakan Greenwich Mean Time (singkatan bahasa Inggeris: GMT), istilah ini juga kerap muncul di akhbar dan akhbar. Kami tahu bahawa terdapat masa tempatan di mana-mana. Jika kita menggunakan masa tempatan untuk merakam acara antarabangsa utama, ia akan menjadi rumit dan menyusahkan. Dan ia akan menjadi mudah untuk membuat kesilapan mengikut masa berlalu. Oleh itu, ahli astronomi mencadangkan kaedah rakaman yang boleh diterima dan mudah untuk semua orang, iaitu menggunakan waktu tempatan di Greenwich (wilayah di UK) sebagai piawai.
cap waktu unix
Komputer itu sendiri tidak tahu masa, jadi kami menetapkan masa dalam komputer untuk memudahkan pengiraan. Jadi kami menetapkan kaedah pengiraan, cap waktu Unix.
Bilangan saat berlalu sejak zaman Unix (0:00 pada 1 Januari 1970).
Kami telah mempelajari beberapa konsep, kini kami boleh mula mempelajari fungsi masa.
1 Tetapkan zon waktu
Jika kami adalah program berbilang bahasa multinasional, kami biasanya menulis zon waktu dalam fail konfigurasi, setiap kali program dijalankan . Tetapan zon waktu akan dibaca untuk memaparkan masa.
Fungsi untuk menetapkan zon waktu ialah:
1).date_default_timezone_get()
2).date_default_timezone_set()
Kami tidak akan fokus pada fungsi pertama, ia adalah agak mudah.
Penggunaan adalah seperti berikut:
string date_default_timezone_get (void)
Fungsi adalah seperti berikut:
Dapatkan nilai lalai yang digunakan oleh semua tarikh dan fungsi masa dalam skrip Zon masa
Contoh:
<?php echo date_default_timezone_get (); ?>
Ini akan memaparkan masa yang ditetapkan pada masa ini.
Fungsi kedua ialah perkara utama:
Penggunaan adalah seperti berikut:
bool date_default_timezone_set ( rentetan $timezone_identifier )
Fungsinya adalah seperti berikut:
Zon masa lalai yang digunakan untuk semua fungsi tarikh dan masa
Contoh:
<?php //定义一下时区常量,以后你可以放到配置文件里 define('TIME_ZONE','Asia/shanghai'); //执行函数 date_default_timezone_set(TIME_ZONE); echo date('Y-m-d H:i:s'); ?>
Cuba bandingkan kod contoh di atas, dan kemudian komen keluar date_default_timezone_set dan lihat apa yang akan digesa.
Nota:
Untuk senarai zon waktu, sila lihat manual rasmi http://php.net/manual/zh/timezones.php
2.time( ) untuk mendapatkan cap masa unix semasa
Fungsi fungsi masa() adalah untuk mendapatkan cap masa Unix masa semasa.
Kod berikut mengeluarkan cap waktu Unix masa semasa.
<?php $time=time(); print_r( $time); ?>
Hasil berjalan program:
1421597858
3 "Flax drop" ialah kunci untuk mempelajari pemprosesan masa dalam PHP
Y dalam bahasa Inggeris ialah tahun, yang bermaksud. tahun - —Ya
m Bahasa Inggeris mewakili bulan, yang mewakili bulan - Ma
d Bahasa Inggeris mewakili hari, yang mewakili tarikh - jatuh
jadi kita perlu mengeluarkan tahun, bulan, tarikh sebelumnya. Sebagai contoh: 1 Julai 1997, kita boleh menggunakan tiga parameter di atas.
<?php echo date('Y年m月d日'); ?>
Anda boleh cuba jalankan kod untuk melihat sama ada ia dipaparkan. Terdapat beberapa parameter selepas
:
H:m:s mewakili: jam, minit dan saat
h dalam bahasa Inggeris ialah: jam mewakili jam
Bahasa Inggeris bagi i ialah: minit
s' Bahasa Inggeris ialah: kedua mewakili kedua
ditulis sepenuhnya ialah:
<?php //就可以显示出来当前的时间了哟。 echo date('Y-m-d H:i:s'); ?>
Fungsi tarikh digunakan untuk memformat masa Output kepada memudahkan paparan atau penyimpanan masa. Format sintaks adalah seperti berikut:
tarikh rentetan ( rentetan $forrnat [, int $tirnestamp] )
Dalam senarai parameter:
$timestamp ialah cap waktu dan fungsi menekan cap masa ini ke dalam $format Output dalam format yang ditentukan.
Jika $timestamp tidak mempunyai nilai input, ia lalai kepada masa semasa.
$format ialah rentetan format output masa dan aksara yang ditentukan perlu digunakan untuk membina format output.
Formatkan jadual parameter fungsi tarikh:
字符 | 说明 | 返回值 |
---|---|---|
d | 月份中的第几天,有前导零的2 位数字 | 01 到31 |
D | 英文星期几,3个字母 | Mon到Sun |
j | 月份中的第几天,没有前导零 | 1 到31 |
l(字母) | 英文星期几 | Sunday到 Saturday |
N | 1格式数字表示的星期 | 1(表示星期一)到7(表示星期天) |
S | 每月天数后面的英文后缀,2个字符 | st,nd,rd或者th。可以和jg一起用 |
w | 星期中的第几天,数字表示 | 0(表示星期天)到 6(表示星期六) |
z | 一年中的第几天 | 0到366 |
W | 年份中的第几周,每周从星期一开始 | 42(当年的第42周) |
F | 月份,完整的文本格式 | January 到 December |
m | 数字表示月份,有前导零 | 01 到 12 |
M | 3个字母缩写表示的月份 | Jan 到Dec |
n | 数字表示月份,没有前导零 | 1 到 12 |
t | 给定月份所应有的天数 | 28 到 31 |
L | 是否为闰年 | 如果是闰年为1,否则为o |
o | 格式年份数字 | 例如2007 |
Y | 4 位数字完整表示年份 | 例如1999或2008 |
y | 2 位数字表示的年份 | 例如99或08 |
a | 小写的上午和下午值 | am或pm |
A | 大写的上午和下午值 | AM或PM |
g | 小时,12小时格式,没有前导零 | 1到12 |
G | 小时,24小时格式,没有前导零 | 0 到 23 |
i | 有前导零的分钟数 | 00 到 59 |
s | 秒数,有前导零 | 00到59 |
e | 时区标识 | |
U | 从Unix纪元开始至今的秒数 | 长整型数字 |
3. getdate mendapat masa sistem semasa
getdate digunakan untuk mendapatkan masa sistem semasa, atau mendapatkan makna khusus cap waktu. Cap masa ialah integer panjang, dan format sintaks getdate adalah seperti berikut.
array getdate ([ int $timestamp = time() ] ) Nilai pulangan bagi fungsi
ialah tatasusunan yang mengandungi maklumat masa yang diperoleh berdasarkan cap waktu. Jika tiada parameter, masa semasa akan dikembalikan. Tatasusunan yang dikembalikan oleh getdate, nama kunci termasuk maklumat lengkap masa dan tarikh.
键名 | 说明 | 返回值 |
---|---|---|
secnods | 秒 | 数字0到 59 |
minutes | 分钟 | 数字0到59 |
hours | 小时 | 数字 0到 23 |
mday | 月份中第几天 | 数字 1到 31 |
wday | 星期中第几天 | 数字0(表示星期天)到6(表示星期六) |
mon | 月份 | 数字 1 到 12 |
year | 年 | 4 位数字表示的完整年份 |
yday | 一年中第几天 | 数字0到365 |
weekday | 星期几的英文 | Sunday到 Saturday |
month | 月份的英文 | January 到 December |
0 | 自从Unix纪元开始的秒数 | 长整型数字 |
Kod berikut boleh mengembalikan butiran tatasusunan getdate.
<?php $mytime=getdate(); print_r( $mytime); ?>
print_r boleh mengeluarkan semua nama kunci dan nilai dalam tatasusunan. Menjalankan kod ini, hasilnya adalah seperti yang ditunjukkan di bawah. Program ini mengeluarkan butiran masa dan tarikh komputer semasa:
Array ( [seconds] => 1 //秒 [minutes] => 10 //分钟 [hours] => 17 //小时 [mday] => 18 //日 [wday] => 0 //星期中的第几天 [mon] => 1 //月 [year] => 2015 //年 [yday] => 17 //年中的第几天 [weekday] => Sunday //星期 [month] => January //月份 [0] => 1421597401 //时间戳 )
Selepas memahami fungsi getdate dan tatasusunan yang dikembalikan, adalah mudah untuk mendapatkan maklumat masa semasa. Kod berikut menggunakan fungsi getdate untuk mendapatkan maklumat masa, dan memanggil nilai tatasusunan masa yang dikembalikan untuk mengeluarkan maklumat masa.
<?php $mytime = getdate(); echo "年 :".$mytime['year']."\n"; echo "月 :".$mytime['mon']."\n"; echo "日 :".$mytime['mday']."\n"; echo "时 :".$mytime['hours']."\n"; echo "分 :".$mytime['minutes']."\n"; echo "秒 :".$mytime['seconds']."\n"; echo "一个小时中的第几钟 :".$mytime['minutes']."\n"; echo "这是一分钟的第几秒 :".$mytime['seconds']."\n"; echo "星期名称 :".$mytime['weekday']."\n"; echo "月份名称 :".$mytime['month']."\n"; echo "时间戳 :".$mytime[0]."\n"; ?>
Jalankan program ini dan maklumat terperinci masa semasa akan dipaparkan. Keputusan menjalankan program adalah seperti berikut.
Tahun: 2015
Bulan: 1
Hari: 18
Jam: 17
Minit: 14
Kedua: 11
Hari pertama minggu Hari: 14
Hari dalam setahun: 11
Nama minggu: Ahad
Nama bulan: Januari
Cop masa: 1421597651