① php獲取UTC時間戳
echo time();//輸出結果:1332224315
echo date(DATE_RFC822);//輸出結果:Tue, 20 Mar 12 06:18:35 +0000
如果需要其他的時間格式,可以參考w3school上的Date()函數操作手冊,地址: http://www.w3school.com.cn/php/php_ref_date.asp
② PHP的常用系統函數有哪些
PHP自帶了大量的系統函數,使用這些函數可以完成大部分的任務。常用的有數學運算函數和日期時間函數。
1.數學運算函數:
數學運算是程序中最常執行的功能之一,PHP提供了很多系統函數實現運算功能,無須安裝、編譯和配置便可以直接使用。下表列出了常用的數學函數:
函數名稱
功能描述
函數名稱
功能描述
abs()
絕對值
is_finite()
判斷是否為有限值
acos()
反餘弦
is_infinite()
判斷是否為無限值
acosh()
反雙曲餘弦
is_nan()
判斷是否為合法數值
asin()
反正弦
lcg_value()
組合線性同餘發生器
asinh()
反雙曲正弦
log10()
以10為底的對數
atan2()
兩個參數的反正切
log()
自然對數
atan()
反正切
max()
最大值
atanh()
反雙曲正切
min()
最小值
base_convert()
在任意進制之間轉換數字
mt_getrandmax()
顯示隨機數的最大可能值
bindec()
二進制轉換為十進制
mt_rand()
生成更好的隨機數
ceil()
進一法取整
mt_sran()
播下一個更好隨機數種子
cos()
餘弦
octdec()
八進制轉換為十進制
cosh()
雙曲餘弦
pi()
圓周率
decbin()
十進制轉換為二進制
pow()
指數表達式
dechex()
十進制轉換為十六進制
rad2deg()
將弧度轉換為相應的角度值
decoct()
十進制轉換為八進制
rand()
產生一個隨機數
deg2rad()
將角度轉換為弧度
round()
對浮點數四捨五入
exp()
計算e的指數
sin()
正弦
floor()
捨去法取整
sinh()
雙曲正弦
fmod()
返回除法的浮點數余數
sqrt()
平方根
getrandmax()
顯示隨機數最大的可能值
srand()
播下隨機數發生器種子
hexdec()
十六進制轉換為十進制
tan()
正切
hypot()
計算直角三角形的斜邊長度
tanh()
雙曲正切
注意:這些數學函數僅能處理計算機中integer和float范圍的值。
示例:產生隨機密碼的的函數
function CreatePassword($length=6) //生成密碼函數,默認6位
{
$dictionary=」」; //密碼字典
$maxChar=strlen($dictionary); //獲取字典長度
$password=」」;
for($i=0; $i<$length; $i++) //隨機生成每一位
{
$password.=$dictionary[rand(0, $maxChar)]; //產生隨機數,再從字典取字母
}
return $password;
}
2.日期和時間運算:
PHP提供了豐富的日期和時間方面運算的函數。
1)UNIX時間戳:
時間戳(Timestamp)是源於UNIX系統的時間表示方法,是指從1970年1月1日(00:00:00GMT)起到現在所經過的秒數,因此也稱為UNIX時間戳。
在PHP中使用時間戳的最簡單方式就是調用time()函數,time()函數可以根據當前時間返回一個時間戳的表示法。示例:
echo 「當前時間戳為:」.time();
2)日期函數:
PHP提供的一些常用的日期函數。
①date()函數:
date()函數用於格式化一個本地日期和時間。語法格式為:
string date(string $format [, int $timestamp])
返回將整數$timestamp按照$format給定格式而產生的字元串。其中,$timestamp參數是可選的,如果沒有給出時間戳,則使用本地當前時間,即time()。
下表列出了$format格式化字元串參數的說明:
值
說明
返回值
D
月份中的第幾天,有前導零的2位數字
01到31
D
星期中的第幾天,文本表示,3個字母
Mon到Sun
J
月份中的第幾天,沒有前導零
1到31
L
L的小寫字母,表示星期幾的完整文本格式
Sunday到Saturday
N
數字表示的星期中的第幾天
1(表示星期一)到7(表示星期天)
S
每月天數後面的英文後綴,2個字元
st,nd,rd或th。可以和j一起用
W
星期中的第幾天,數字表示
0(表示星期天)到6(表示星期六)
Z
年份中的第幾天
0到366
W
年份中的第幾周,每周從星期一開始
例如:42(當年的第42周)
F
月份,完整的文本格式,例如January
January到December
M
數字表示的月份,有前導零
01到12
M
3個字母縮寫表示的月份
Jan到Dec
N
數字表示的月份,沒有前導零
1到12
t
給定月份所應有的天數
28到31
L
是否為閏年
如果是閏年為1,否則為0
o
年份數字
例如:2016
Y
4位數字完整表示的年份
例如:2016
y
2位數字表示的年份
例如:16
a
小寫的上午和下午值
am或pm
A
大寫的上午和下午值
AM或PM
g
小時,12小時格式,沒有前導零
1到12
G
小時,24小時格式,沒有前導零
0到23
h
小時,12小時格式,有前導零
01到12
H
小時,24小時格式,有前導零
00到23
i
有前導零的分鍾數
00到59
s
秒數,有前導零
00到59
e
時區標識
例如:UTC,GMT,Atlantic/Azores
I
是否為夏令時
如果是夏令時為1,否則為0
O
與格林威治時間相差的小時數
例如:+0200
Z
時差偏移量的秒數
-43200到43200
c
ISO8601格式的日期
2011-05-12T15:19:21+00:00
r
RFC822格式的日期
例如:Thu, 21 Dec 2011 06:07:08 +0200
U
從January 1 1970 00:00:00開始至今的秒數
與time()函數相同
示例:
$today=date(「m/d/y」); //結果為:07/19/12
$today=date(「F j, Y, g:i a」); //結果為:July 19, 2012, 9:07 am
$today=date(「Y年n月j日」); //結果為:2012年7月19日
$today=date(「Y-m-d H:i:s」); //結果為:2012-07-19 09:07:32
$today=date(「D M j G:i:s T Y」); //結果為:Thu Jul 19 9:07:32 CST 2012
$today=date(『i t i s t h e jS d a y』); //結果為:07 31 07 32 31 09 Asia/Shanghai 19th 19 am 12
$today=date(『\i\t \i\s \t\h\e jS \d\a\y』); //結果為:it is the 19th day
$today=date(『H:m:s \m \i\s\ \m\o \h』); //結果為:09:07:32 m is month
②gmdate()函數:
gmdate()函數實現與date()函數相同的功能,不同的是gmdate()函數返回的時間是格林威治標准時間(GMT)。語法格式為:
string gmdate(string $format [, int $timestamp])
③getdate()函數:
getdate()函數用於獲取指定的日期和時間信息。語法格式為:
array getdate([int $timestamp])
如果沒有指定時間戳$timestamp,則使用系統當前的本地時間。getdate()函數返回一個數組,數組中的每個元素代表日期和時間中的特定組成部分。下表列出了返回數組中鍵名的說明:
鍵名
說明
返回值例子
seconds
秒的數字表示
0到59
minutes
分鍾的數字表示
0到59
hours
小時的數字表示
0到23
mday
月份中的第幾天的數字表示
1到31
wday
星期中的第幾天的數字表示
0(表示星期天)到6(表示星期六)
mon
月份的數字表示
1到12
year
4位數字表示的完整年份
例如:2016
yday
一年中的第幾天的數字表示
0到365
weekday
星期幾的完整文本表示
Sunday到Saturday
month
月份的完整的文本表示
January到December
0
自從UNIX紀元開始至今的秒數
和time()的返回值類似,是一個時間戳
示例:
<?php
$today=getdate();
print_r($today);
printf(「今天是%s年%s月%s日 星期%s \n」, $today[「year」], $today[「mon」], $today[「mday」], $today[「wday」]);
printf(「現在時間是%s時%s分%s秒」, $today[「hours」], $today[「minutes」], $today[「seconds」]);
?>
執行後的結果為:
Arrar
(
[seconds]=>15
[minutes]=>37
[hours]=>9
[mday]=>19
[wday]=>4
[mon]=>7
[year]=>2016
[yday]=>200
[weekday]=>Thursday
[month]=>July
[0]=>1342661835
)
今天是2016年7月19日 星期4
現在時間是 9時37分15秒
④checkdate()函數:
checkdate()函數用於檢查一個日期是否有效,有效則返回true,否則返回false。語法格式為:
bool checkdate(int $month, int $day, int $year)
當滿足如下條件時,checkdate()函數將認為是一個有效的日期:
·$year的值是從1到32767
·$month的值是從1到12
·$day的值在給定的$month所應該具有的天數范圍之內,包括閏年情況
示例:
echo checkdate(2,29,2012)?」有效」:」無效」;
2)時間函數:
①time()函數:
time()函數使用方法非常簡單,沒有參數調用後返回當前日期和時間的UNIX時間戳。語法格式為:
int time(void)
示例:
$next50day=time()+(50*24*60*60); //計算50天以後的日期
②mktime()函數:
mktime()函數的作用與time()函數相同,都可以返回一個時間戳表示的時間。不同的是,在mktime()函數中可以指定具體的日期和時間。語法格式為:
int mktime([int $hour],[int $minute],[int $second],[int $month], [int $day],[int $year])
上述參數列表從右向左順序省略,任何省略的參數會被設置為本地日期和時間的當前值。如果指定的時間無法表示,則返回false。mktime()函數在做日期計算和驗證方面很有用。示例:
$day1=mktime(0,0,0,12,25,2012);
$day2=mktime(0,0,0,10,1,2012);
$days=($day1-$day2)/(24*60*60); //根據時間戳計算出相差的天數
③strtotime()函數:
strtotime()函數用於將可閱讀的英文日期/時間字元串轉換成UNIX時間戳。語法格式:
int strtotime(string $time[, int $now])
其中,$time參數表示要被轉換的字元串,$now表示計算返回值的時間戳。如果沒有提供$now參數,將使用系統的當前時間。strtotime()函數成功時返回時間戳,否則返回false。
④microtime()函數:
microtime()函數調用後將返回當前UNIX時間戳和微秒數。語法格式為:
mixed microtime([bool $get_as_float])
這里的可選參數$get_as_float是一個布爾值,如果為true將返回一個浮點數。默認不帶參數時將以「msec sec」格式返回一個字元串,其中msec是微秒部分,sec是UNIX時間戳。
③ PHP獲取當前時間、年份、月份、日期和天數
獲取當前時間、年份、月份、日期和天數是PHP編程中常用的實踐。PHP提供了多種函數來處理時間日期的獲取與格式化。下面將詳細介紹PHP中獲取和格式化時間日期的常用方法。
獲取當前時間主要依賴於PHP的`Date()`函數,該函數能夠將時間戳轉換為易讀的日期與時間格式。函數語法如下:
`Date(format, timestamp)`
其中,`format`參數用於指定輸出的日期格式,而`timestamp`參數可選,用來指定時間戳,默認為`time()`函數返回的當前時間戳。
格式化參數`format`涵蓋了一些常用日期字元,如:
`Y`表示完整四位數的年份(例如2019);
`y`表示兩位數的年份(例如19);
`F`表示完整文本格式的月份(例如January);
`M`表示三個字母的月份(例如Jun);
`m`表示帶前導零的月份(例如04);
`n`表示無前導零的月份(例如4);
`d`表示帶前導零的日期(例如01-31);
`j`表示無前導零的日期(例如1-31);
`D`表示星期的3字母縮寫(例如Wed);
`l`表示完整英文的星期(例如Wednesday);
`w`表示星期中的第幾天(例如0表示星期天);
`W`表示一年中的第幾周;
`z`表示一年中的第幾天(例如0-366);
通過`Date()`函數,我們可以輕松獲取和格式化日期與時間。例如,以下代碼將輸出當前的中文日期:
運行結果:今天是:2019年04月24日
獲取簡單的時間同樣依賴於`Date()`函數,但我們需要使用一些特定的格式化參數。例如,以下是用於獲取時間的常用字元:
`H`表示24小時格式,有前導零(例如08,18);
`h`表示12小時格式,有前導零(例如06,11);
`G`表示24小時格式,無前導零(例如9,17);
`g`表示12小時格式,無前導零(例如6,12);
`i`表示分鍾,有前導零(例如00-59);
`s`表示秒,有前導零(例如00 -59);
`A`表示大寫的午前和午後(例如AM 或 PM);
`a`表示小寫的午前和午後(例如am 或 pm);
`I`表示是否為夏令時;
在獲取時間的實例中,下面的代碼將輸出當前的完整時間:
運行結果:今天是:2019年04月24日 16:34:58 PM
獲取時區時,可以通過設置時區參數來確保准確的時間。例如,將時區設置為"Asia/Shanghai",則代碼如下:
運行結果:當前時間是:2019年04月24日 16:34:58 PM (上海時區)
為了獲取日期信息,可以使用`getdate()`函數。這個函數返回一個數組,包含指定的日期和時間信息,如果沒有給出時間戳,則輸出本地當前的日期和時間。函數聲明如下:
array getdate(int timestamp);
如果需要驗證日期的正確性,在程序開發中,可以使用`checkdate()`函數來檢查輸入的日期是否有效。如果日期有效,返回`true`,否則返回`false`。函數聲明如下:
bool checkdate(int month, int day, int year);
時間戳的獲取可以通過`time()`函數實現,該函數返回當前時間戳。函數聲明如下:
int time();
創建日期時,可以使用`mktime()`函數與`date()`函數。`mktime()`函數返回日期的Unix時間戳,而`date()`函數則用於將時間戳轉換為可讀的格式。函數語法如下:
時間戳時間的實例代碼如下:
運行結果:創建日期是:2015-06-10 09:12:31 AM
通過字元串創建日期時,可以使用`strtotime()`函數。這個函數可以將人類可讀的字元串轉換為Unix時間戳,從而實現日期和時間的創建。函數語法如下:
字元串時間的實例代碼如下:
運行結果:2019-04-25 12:00:00 AM, 2019-04-27 12:00:00 AM, 2019-07-24 05:53:08 PM
需要注意的是,`strtotime()`函數可能不完全准確,因此應檢查輸入的字元串是否正確。
更多日期實例,例如輸出下周六的日期和輸出七月四日之前的天數,可以使用`Date()`函數配合其他日期相關函數實現。例如,以下代碼展示了輸出下周六的日期:
實例代碼如下:
運行結果:2019年04月27日
輸出七月四日之前的天數的實例代碼如下:
運行結果:2019年07月01日
在網站中自動更新版權年份時,可以使用`Date()`函數。以下是一個示例代碼,用於在網站上自動更新年份:
實例代碼如下:
運行結果:版權所有 © 2019
通過以上介紹,我們可以了解到PHP中獲取與格式化時間日期的多種方法,這對於處理時間相關問題非常有用。確保正確使用這些函數,可以提高代碼的效率與准確性。希望這些信息能對您在PHP編程中處理時間日期問題有所幫助。
④ php獲取當前時間
php獲取當前時間是怎樣的呢?下面就讓我們一起來了解一下吧:
php獲取當前時間有三種比較常用的方式,分別是gmmktime()函數、mktime()方法、microtime()方法。
1、gmmktime()函數
gmmktime()函數是可以取得GMT日期的UNIX時間戳。
具體語法為:
intgmmktime([int$hour[,int$minute[,int$second[,int$month[,int$day[,int$year[,int$is_dst]]]]]]])
該函數的參數能夠從右到左依次空著,而空著的參數就會被設為相應的當前GMT值。
參考範例:
示例代碼:
?php
echogmmktime();//沒有設置參數,則默認取得當前GMT時間
echogmmktime(0,45,3,7,7,2016);//設置參數表示GMT時間2016年7月7日0點45分3秒
?
輸出:
14679099561467852303
2、mktime()方法
mktime()也能夠取得一個日期的UNIX時間戳。
具體語法為:
intmktime([int$hour=date("H")[,int$minute=date("i")[,int$second=date("s")[,int$month=date("n")[,int$day=date("j")[,int$year=date("Y")[,int$is_dst=-1]]]]]]])
該函數可以根據給出的參數返回UNIX時間戳。時間戳一般就是一個長整數,其中包含了從UNIX紀元到給定時間的秒數。
參考範例:
示例代碼:
?php
echomktime();//沒有設置參數則默認取得當前GMT時間
echomktime(0,45,3,7,7,2016);//設置參數表示GMT時間2016年7月7日0點45分3秒
?
輸出:
14679104651467852303
3、microtime()方法
microtime()可以獲得當前UNIX時間戳和微秒數。
具體語法為:mixedmicrotime([bool$get_as_float])
若是設置get_as_float參數值為true,那麼microtime()將返回一個浮點數;若是不帶參數,那麼返回一個「msecsec」格式的字元串,其中sec是自UNIX紀元起到現在的秒數,而msec則是微秒部分。字元串的兩部分基本上都是以秒為單位返回的。
參考範例:
示例代碼:
?php
echomicrotime();//返回msecsec格式字元串表示時間
echo"br/";
echomicrotime(true);//返回一個浮點型字元串表示時間
?
輸出:
0.404749001467910862
1467910862.4048
以上就是小編的分享了,希望能夠幫助到大家。
⑤ 如何寫PHP 判斷當前時間是否大於下午6點
需要准備的材料分別是:電腦、php編輯器、瀏覽器。
1、首先,打開php編輯器,新建php文件,例如:index.php。
⑥ php錛屽備綍鍒ゆ柇褰撳墠鏃墮棿鏄鍚﹀湪瑙勫畾鏃墮棿涔嬪唴錛堣勫畾鏃墮棿鍙鏈夋椂鍒嗙掞級錛
$checkDayStr = date('Y-m-d ',time());
$startTime = strtotime($checkDayStr."08:00".":00");
$endTime = strtotime($checkDayStr."20:00".":00");
if(time()>$startTime && time()<$endTime ){
//do something...
}