date — 格式化一個本地時間/日期(把時間戳變成文本格式)
string date ( string $format [, int $timestamp ] )
timestamp 是可選的,默認值為 time()。
$today = date("H:i:s"); // 17:16:17
getdate — 取得日期/時間信息(把時間戳的信息存到數(shù)組)
array getdate ([ int $timestamp ] )
<?php
$today = getdate();
print_r($today);
?>
返回
Array
(
[seconds] => 40
[minutes] => 58
[hours] => 21
[mday] => 17
[wday] => 2
[mon] => 6
[year] => 2003
[yday] => 167
[weekday] => Tuesday
[month] => June
[0] => 1055901520
)
strtotime — 將任何英文文本的日期時間描述解析為 Unix 時間戳 (把文本格式變成時間戳)
int strtotime ( string $time [, int $now ] )
函數(shù)預(yù)期接受一個包含美國英語日期格式的字符串并嘗試將其解析為 Unix 時間戳(自 January 1 1970 00:00:00 GMT 起的秒數(shù)),其值相對于 now 參數(shù)給出的時間,如果沒有提供此參數(shù)則用系統(tǒng)當(dāng)前時間。
<?php
echo strtotime("2011-9-9"), "\n";
echo strtotime("now"), "\n";
echo strtotime("10 September 2000"), "\n";
echo strtotime("+1 day"), "\n";
echo strtotime("+1 week"), "\n";
echo strtotime("+1 week 2 days 4 hours 2 seconds"), "\n";
echo strtotime("next Thursday"), "\n";
echo strtotime("last Monday"), "\n";
?>
strtotime的第一個參數(shù)可以是我們常見的英文時間格式,比如"2008-8-20"或"10 September 2000"等等。也可以是以參數(shù)now為基準(zhǔn)的時間描述,比如"+1 day"等等。
下面是后一種方式的可使用參數(shù)清單,其中"當(dāng)前時間"是指strtotime第二個參數(shù)now的值,默認為當(dāng)前時間。
1. 月,日英文名及其常用縮寫清單:
january,february,march,april,may,june,july,august,september,sept,october,november,december,
sunday,monday,tuesday,tues,wednesday,wednes,thursday,thur,thurs,friday,saturday
2. 時間參數(shù)和祥細描述:
am: the time is before noon 上午
pm: the time is noon or later 下午
year: one year; for example, "next year" 年,比如"next year"代表明年
month: one month; for example, "last month" 月,比如"last month"代表上一月
fortnight: two weeks; for example, "a fortnight ago" 兩周,比如"a fortnight ago"代表兩周前
week: one week 周
day: a day 天
hour: an hour 小時
minute: a minute 分鐘
min: same as minute 同"minute"
second: a second 秒
sec: same as second 同"second"
3.相關(guān)和順序說明:
+n/-n:以當(dāng)前時間算,加個減指定的時間,比如"+1 hour"是指當(dāng)前時間加一小時
ago:time relative to now; such as "24 hours ago" 以當(dāng)前時間往前算,比如"24 hours ago"代表"24小時前"
tomorrow: 24 hours later than the current date and time 以當(dāng)前時間(包括日期和時間)為標(biāo)準(zhǔn),明天同一時間
yesterday: 24 hours earlier than the current date and time 以當(dāng)前時間(包括日期和時間)為標(biāo)準(zhǔn),昨天同一時間
today: the current date and time 當(dāng)前時間(包括日期和時間)
now: the current date and time 當(dāng)前時間(包括日期和時間)
last: modifier meaning "the preceding"; for example, "last tuesday" 代表"上一個",比如"last tuesday"代表"上周二同一時間"
this: the given time during the current day or the next occurrence of the given time; for example, "this 7am" gives the timestamp for 07:00 on the current day, while "this week" gives the timestamp for one week from the current time 當(dāng)天的指定時間或下面一個時間段的時間戳,比如"this 7am"給出當(dāng)天7:00的時間戳,而"this week"給出的是從當(dāng)前時間開始的一整周的時間戳,也就是當(dāng)前時間(經(jīng)本人測試:strtotime('this week')=strtotime('now'));
next: modifier meaning the current time value of the subject plus one; for example, "next hour" 當(dāng)前時間加上指定的時間,比如"next hour"是指當(dāng)前時間加上一小時,即加3600
first: ordinal modifier, esp. for months; for example, "May first" (actually, it's just the same as next)
third: see first (note that there is no "second" for ordinality, since that would conflict with the second time value)
fourth: see first
fifth: see first
sixth: see first
seventh: see first
eighth: see first
ninth: see first
tenth: see first
eleventh: see first
twelfth: see first
4. 時區(qū)描述:
gmt: Greenwich Mean Time
ut: Coordinated Universal Time
utc: same as ut
wet: Western European Time
bst: British Summer Time
wat: West Africa Time
at: Azores Time
ast: Atlantic Standard Time
adt: Atlantic Daylight Time
est: Eastern Standard Time
edt: Eastern Daylight Time
cst: Central Standard Time
cdt: Central Daylight Time
mst: Mountain Standard Time
mdt: Mountain Daylight Time
pst: Pacific Standard Time
pdt: Pacific Daylight Time
yst: Yukon Standard Time
ydt: Yukon Daylight Time
hst: Hawaii Standard Time
hdt: Hawaii Daylight Time
cat: Central Alaska Time
akst: Alaska Standard Time
akdt: Alaska Daylight Time
ahst: Alaska-Hawaii Standard Time
nt: Nome Time
idlw: International Date Line West
cet: Central European Time
met: Middle European Time
mewt: Middle European Winter Time
mest: Middle European Summer Time
mesz: Middle European Summer Time
swt: Swedish Winter Time
sst: Swedish Summer Time
fwt: French Winter Time
fst: French Summer Time
eet: Eastern Europe Time, USSR Zone 1
bt: Baghdad Time, USSR Zone 2
zp4: USSR Zone 3
zp5: USSR Zone 4
zp6: USSR Zone 5
wast: West Australian Standard Time
wadt: West Australian Daylight Time
cct: China Coast Time, USSR Zone 7
jst: Japan Standard Time, USSR Zone 8
east: Eastern Australian Standard Time
eadt: Eastern Australian Daylight Time
gst: Guam Standard Time, USSR Zone 9
nzt: New Zealand Time
nzst: New Zealand Standard Time
nzdt: New Zealand Daylight Time
idle: International Date Line East
strftime — 根據(jù)區(qū)域設(shè)置格式化本地時間/日期 (把時間戳變成文本格式)
string strftime ( string $format [, int $timestamp ] )
strftime()工作的方式和date()沒有什么不同,除了特殊格式化字符的前面必須添加一個百分號%。
strftime()有兩個好處。第一個好處是如果你使用setlocale()函數(shù),你可以通過strftime得到相應(yīng)語言的月份的名稱。另外的一個好處是你可以將特別的日期和時間的格式化字符包含在你的字符串中。這同時也意味著無論你是否要學(xué)習(xí)date()函數(shù)的所有特殊格式化字符,你都必須學(xué)習(xí)一整套完全不同的格式化字符。
一般phper用date會比較順手吧。
strptime — 解析由 strftime() 生成的日期/時間 (把文本格式的日期信息存到數(shù)組)
array strptime ( string $date , string $format )
類似于date函數(shù)的getdate
<?php
$format = '%d/%m/%Y %H:%M:%S';
$strf = strftime($format);
echo "$strf\n";
print_r(strptime($strf, $format));
?>
輸出
03/10/2004 15:54:19
Array
(
[tm_sec] => 19
[tm_min] => 54
[tm_hour] => 15
[tm_mday] => 3
[tm_mon] => 9
[tm_year] => 104
[tm_wday] => 0
[tm_yday] => 276
[unparsed] =>
)
time — 返回當(dāng)前的 Unix 時間戳
int time ( void )
mktime — 取得一個日期的 Unix 時間戳
int mktime ([ int $hour [, int $minute [, int $second [, int $month [, int $day [, int $year [, int $is_dst ]]]]]]] )
參數(shù)可以從右向左省略,任何省略的參數(shù)會被設(shè)置成本地日期和時間的當(dāng)前值,參數(shù)全部為空則與time()相同
microtime — 返回當(dāng)前 Unix 時間戳和微秒數(shù)
microtime() 當(dāng)前 Unix 時間戳以及微秒數(shù)。本函數(shù)僅在支持 gettimeofday() 系統(tǒng)調(diào)用的操作系統(tǒng)下可用。
如果調(diào)用時不帶可選參數(shù),本函數(shù)以 "msec sec" 的格式返回一個字符串,其中 sec 是自 Unix 紀(jì)元(0:00:00 January 1, 1970 GMT)起到現(xiàn)在的秒數(shù),msec 是微秒部分。字符串的兩部分都是以秒為單位返回的。
如果給出了 get_as_float 參數(shù)并且其值等價于 TRUE,microtime() 將返回一個浮點數(shù)。默認為false
<?php
echo microtime(true);//1313743963.77
echo microtime(false);//0.10190200 1313744036
?>