『壹』 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語言寫)
$year = '1990';//
$month = '1';/盯姿/
$day = '2';//輸入值
$num = mktime(0,0,0,$month,$day,$year);
$num2 = mktime(0,0,0,1,1,$year);
$num -=$num2;
$count = intval($num)/(24*60*60);
var_mp($count);
count+1就是灶悄就是第幾數。
原理就是獲取輸入的時間戳減去該年第一天的時間戳,除去一天的秒數,就是相隔的天數,加凱辯絕一即可
『叄』 PHP得到某天N天後的問題
<?php
echo date("Ymd", time()+10*24*3600);
?>
這才是正確的方法,在任何操作系統和版本下面均正確,time獲取當前時間(實際上是從 Unix 紀元《格林威治時間 1970 年 1 月 1 日 00:00:00》到當前時間的秒數),加號後面的10表示10天、每天24小時、每小時3600秒。修改10可以實現加上或者減去別的天數。
補充:
echo date("Ymd", strtotime("2007-11-01")+10*24*3600);
『肆』 php取這個2007-08-27 17:17:18中的年月日
格式 date("Y m d",strtotime('2007-08-27 17:17:18'))
因為你限定的就是輸出"Y m d"格式的時間,也就是年月日,沒有給定時分秒的格式,通常格式為("Y m d H:i:s",strtotime('2007-08-27 17:17:18')),如果你想修改,下面是格式表:
a
小寫的上午和下午值
am 或 pm
A
大寫的上午和下午值
AM 或 PM
B
Swatch Internet 標准時
000 到 999
d
月份中的第幾天,有前導零的 2 位數字
01 到 31
D
星期中的第幾天,文本表示,3 個字母
Mon 到 Sun
F
月份,完整的文本格式,例如 January 或者 March
January 到 December
g
小時,12 小時格式,沒有前導零
1 到 12
G
小時,24 小時格式,沒有前導零
0 到 23
h
小時,12 小時格式,有前導零
01 到 12
H
小時,24 小時格式,有前導零
00 到 23
i
有前導零的分鍾數
00 到 59>
I
是否為夏令時
如果是夏令時為 1,否則為 0
j
月份中的第幾天,沒有前導零
1 到 31
l(「L」的小寫字母)
星期幾,完整的文本格式
Sunday 到 Saturday
L
是否為閏年
如果是閏年為 1,否則為 0
m
數字表示的月份,有前導零
01 到 12
M
三個字母縮寫表示的月份
Jan 到 Dec
n
數字表示的月份,沒有前導零
1 到 12
O
與格林威治時間相差的小時數
例如:+0200
r
RFC 822 格式的日期
例如:Thu, 21 Dec 2000 16:01:07 +0200
s
秒數,有前導零
00 到 59>
S
每月天數後面的英文後綴,2 個字元
st,nd,rd 或者 th。可以和 j 一起用。
t
給定月份所應有的天數
28 到 31
T
本機所在的時區
例如:EST,MDT(【譯者注】在 Windows 下為完整文本格式,例如「Eastern Standard Time」,中文版會顯示「中國標准時間」)。
U
從 Unix 紀元(January 1 1970 00:00:00 GMT)開始至今的秒數
參見 time()
w
星期中的第幾天,數字表示
0(表示星期天)到 6(表示星期六)
W
ISO-8601 格式年份中的第幾周,每周從星期一開始(PHP 4.1.0 新加的)
例如:42(當年的第 42 周)
Y
4 位數字完整表示的年份
例如:1999 或 2003
y
2 位數字表示的年份
例如:99 或 03
z
年份中的第幾天
0 到 366
Z
時差偏移量的秒數。UTC 西邊的時區偏移量總是負的,UTC 東邊的時區偏移量總是正的。
-43200 到 43200
『伍』 php寫出一個函數,參數為年份和月份,輸出結果為指定月的天數
<?php
functiongetDays($date){
//獲取天數
$days=date("t",strtotime($date));
return$days;
}
//2015年12月
$date="2015-12";
echogetDays($date);
//輸出結果:31天
?>