天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

PHP日期處理函數(shù) 整型日期格式

當(dāng)我過(guò)去用ASP時(shí)解決這個(gè)問(wèn)題相當(dāng)簡(jiǎn)單,ASP有相應(yīng)的函數(shù)DateDiff可以給出兩個(gè)日期間間隔多少月、多少天和多少秒。當(dāng)我搜尋完php手冊(cè)后我發(fā)現(xiàn)php并沒(méi)有類似的函數(shù)。
本文包含以下內(nèi)容:
1、 得到目前的日期和時(shí)間-我們有多少種方式?
2、 改變?nèi)掌陲@示的方式-日期和時(shí)間的顯示形式
3、 轉(zhuǎn)換現(xiàn)在的日期為Unix的時(shí)間戳值
4、 改變?nèi)掌?
a. 增加時(shí)間
b. 減去時(shí)間
c. 找出兩日期之間的間隔
5、 為php添加DateAdd函數(shù)
6、 為php添加DateDiff函數(shù)
**得到目前的日期和時(shí)間
在Unix中,時(shí)間的表示方式為計(jì)算從1970年1月1日零時(shí)起所過(guò)去的秒數(shù),這稱為UNIX 時(shí)間戳(Unix Epoch)。
如果我們有這樣一段的代碼:
復(fù)制代碼 代碼如下:
<?
echo time();
?>;

將返回值958905820
而此時(shí)的時(shí)間為2000年5月21日12時(shí)43分。
你也許會(huì)說(shuō)這相當(dāng)不錯(cuò)。當(dāng)這對(duì)我毫無(wú)幫助,或者只有一點(diǎn)幫助。在php中,對(duì)日期處理的函數(shù)都必須用到由time()返回的時(shí)間戳值。同時(shí),由于php在Unix和Windows系統(tǒng)中均使用同樣的時(shí)間戳值,這就允許你不需要修改代碼即可在不同的系統(tǒng)間移植。另外的一個(gè)好處是time()函數(shù)返回的是一個(gè)整數(shù),你可以將其作為整數(shù)字段或文本字段存入數(shù)據(jù)庫(kù),而不必使用特別的日期/時(shí)間字段。
你已經(jīng)基本了解了Unix的時(shí)間戳值,現(xiàn)在讓我們來(lái)展示它的實(shí)際用途。
改變?nèi)掌陲@示的方式-日期和時(shí)間的顯示形式
php提供兩個(gè)辦法來(lái)將Unix的時(shí)間戳值轉(zhuǎn)換成為有用的數(shù)據(jù)。第一個(gè)是date()函數(shù)。這個(gè)函數(shù)有兩個(gè)參數(shù)-第一個(gè)字符串用于設(shè)定你所希望返回的格式,第二個(gè)為Unix的時(shí)間戳值。
格式化字符串通過(guò)一些簡(jiǎn)單的特殊格式化字符來(lái)顯示你所希望看到的格式的日期和時(shí)間。假設(shè)你希望日期以這樣的格式顯示“18h01 Sunday 21 May”。
我們需要對(duì)字符串中的每一部分使用一個(gè)特殊格式化字符,你可以從php手冊(cè)中日期和時(shí)間函數(shù)庫(kù)中找到。這樣的特殊格式化字符數(shù)量不少,他們所表示的類似于星期幾、月的英文名、用2位或4位數(shù)表示的年份,是否是上午(AM)或下午(PM)以及其他。對(duì)于這個(gè)例子我們需要的特殊字符為:
‘H' -24 小時(shí)制的小時(shí)
‘i'- 分鐘
‘l'- 星期幾的英文全名
‘d'- 本月的第幾日
‘F'- 月份的英文全名
因此我們的格式化字符串為”Hhi l d F”, php代碼為:
復(fù)制代碼 代碼如下:
<?
echo date ("Hhi l d F" ,time());
?>;

當(dāng)我們執(zhí)行這段代碼,我們發(fā)現(xiàn)我們所得到的結(jié)果為:
180609 Sunday 21 May
這樣的結(jié)果看起來(lái)有些奇怪。讓我們?cè)俨橐幌?a href=/itjie/phpjishu/ target=_blank class=infotextkey>php手冊(cè),原來(lái)'h'所代表的是12 小時(shí)制的小時(shí)數(shù)。這再次證明了一句真理:“計(jì)算機(jī)只做你所告訴它該做的,而不是你想要它做的”。我們有兩個(gè)選擇。第一個(gè)是在h前使用轉(zhuǎn)義字符“/”:
echo date ("H/hi l d F", time());
我們得到這樣的結(jié)果:
18h12 Sunday 21 May
這正是我們所要的。但如果我們?cè)谝粋€(gè)十分復(fù)雜的句子中需要包含日期和時(shí)間,我們是否需要對(duì)每個(gè)字符使用轉(zhuǎn)義字符?
答案當(dāng)然是不。我們使用另一個(gè)函數(shù)strftime()。
strftime()有兩個(gè)好處。
第一個(gè)好處我們并不在本文討論范圍內(nèi)-如果你使用setlocale()函數(shù),你可以通過(guò)strftime得到相應(yīng)語(yǔ)言的月份的名稱。
另外的一個(gè)好處是你可以將特別的日期和時(shí)間的格式化字符包含在你的字符串中。這同時(shí)也意味著無(wú)論你是否要學(xué)習(xí)date()函數(shù)的所有特殊格式化字符,你都必須學(xué)習(xí)一整套完全不同的格式化字符。
strftime()工作的方式和date()沒(méi)有什么不同,除了特殊格式化字符的前面必須添加一個(gè)百分號(hào)%。如果用strftime()函數(shù),前面例子的代碼如下:
復(fù)制代碼 代碼如下:
<?
echo strftime ("%Hh%M %A %d %b" ,time());
?>;

結(jié)果為:
18h24 Sunday 21 May
這也許看起來(lái)將簡(jiǎn)化繁,但考慮一下如果你所需要的顯示的為
"Today is Sunday 21 May 2000. The time is somewhere close to 18h24."
我想使用date()函數(shù)無(wú)疑令人感到厭煩。
在開(kāi)始的時(shí)候,我提及我們有兩種方式可以從Unix時(shí)間戳值中得到有用的數(shù)據(jù)。我們剛剛了解了date()和strftime()。另一個(gè)getdate()。這個(gè)函數(shù)只需要Unix 的時(shí)間戳值作為參數(shù),而函數(shù)的返回值為日期和時(shí)間的數(shù)組。
下面是一個(gè)例子:
復(fù)制代碼 代碼如下:
<?
$date_time_array = getdate (time());
echo $date_time_array[ "weekday"];
?>;

返回的結(jié)果為:
Sunday
除了"weekday",該數(shù)組的其他部分為:
"seconds" 主站蜘蛛池模板: 亚洲AV天堂无码麻豆电影 | 青春草国产成人精品久久 | 9277在线观看资源 | 国内精品伊人久久久影院 | gv肉片视频免费观看 | 久久毛片免费看一区二区三区 | 2021精品高清卡1卡2卡3麻豆 | 伊人久久精品AV无码一区 | 我就去色色 | 饥渴的40岁熟妇完整版在线 | 亚洲综合无码一区二区 | 成人综合在线视频免费观看完整版 | 久久在精品线影院精品国产 | 精品 在线 视频 亚洲 | 99热久久视频只有精品6国产 | 色婷婷亚洲精品天天综合影院 | 国产欧美日韩中文视频在线 | 新影音先锋男人色资源网 | 国产成人一区免费观看 | 2012中文字幕手机在线 | 麻豆蜜桃国语精品无码视频 | 国产在线观看码高清视频 | 国产GV无码A片在线观看 | 和I儿媳妇激情 | 芭乐视频免费资源在线观看 | 中文字幕在线视频免费观看 | 国产精品成人免费观看 | 男男校园园bl文全肉高h寝室 | 亚洲欧美日本久久综合网站 | 久久精品国产亚洲AV久五月天 | 免费观看美女的网站 | 欧美日韩亚洲成人 | 挤奶门事件完整照片 | 欧美巨大xxxx做受高清 | 欧美一级黄色影院 | 亚洲精品国产品国语在线试看 | yellow在线观看免费观看大全 | 欧美精品久久久久性色AV苍井 | 国产a级午夜毛片 | 免费夜色污私人影院网站 | 69国产精品成人无码视频 |