男女疯狂一边摸一边做羞羞视频|啊好深好硬快点用力别停动态图|亚洲一区无码中文字幕|特级无码毛片免费视频播放▽|久久狠狠躁免费观看|国内精品久久久久久网站

date

(PHP 4, PHP 5, PHP 7, PHP 8)

date格式化一個(gè)本地時(shí)間/日期

說(shuō)明

date(string $format, int $timestamp = ?): string

返回將整數 timestamp 按照給定的格式字串而產(chǎn)生的字符串。如果沒(méi)有給出時(shí)間戳則使用本地當前時(shí)間。換句話(huà)說(shuō),timestamp 是可選的,默認值為 time()。

小技巧

自 PHP 5.1.1 起有幾個(gè)有用的常量可用作標準的日期/時(shí)間格式來(lái)指定 format 參數。

小技巧

自 PHP 5.1 起在 $_SERVER['REQUEST_TIME'] 中保存了發(fā)起該請求時(shí)刻的時(shí)間戳。

注意:

有效的時(shí)間戳典型范圍是格林威治時(shí)間 1901 年 12 月 13 日 20:45:54 到 2038 年 1 月 19 日 03:14:07。(此范圍符合 32 位有符號整數的最小值和最大值)。不過(guò)在 PHP 5.1 之前此范圍在某些系統(如 Windows)中限制為從 1970 年 1 月 1 日到 2038 年 1 月 19 日。

注意:

要將字符串表達的時(shí)間轉換成時(shí)間戳,應該使用 strtotime()。此外一些數據庫有一些函數將其時(shí)間格式轉換成時(shí)間戳(例如 MySQL 的 ? UNIX_TIMESTAMP 函數)。

格式字串可以識別以下 format 參數的字符串
format 字符 說(shuō)明 返回值例子
--- ---
d 月份中的第幾天,有前導零的 2 位數字 0131
D 星期中的第幾天,文本表示,3 個(gè)字母 MonSun
j 月份中的第幾天,沒(méi)有前導零 131
l(“L”的小寫(xiě)字母) 星期幾,完整的文本格式 SundaySaturday
N ISO-8601 格式數字表示的星期中的第幾天(PHP 5.1.0 新加) 1(表示星期一)到 7(表示星期天)
S 每月天數后面的英文后綴,2 個(gè)字符 st,nd,rd 或者 th??梢院?j 一起用
w 星期中的第幾天,數字表示 0(表示星期天)到 6(表示星期六)
z 年份中的第幾天 0365
星期 --- ---
W ISO-8601 格式年份中的第幾周,每周從星期一開(kāi)始(PHP 4.1.0 新加的) 例如:42(當年的第 42 周)
--- ---
F 月份,完整的文本格式,例如 January 或者 March JanuaryDecember
m 數字表示的月份,有前導零 0112
M 三個(gè)字母縮寫(xiě)表示的月份 JanDec
n 數字表示的月份,沒(méi)有前導零 112
t 指定的月份有幾天 2831
--- ---
L 是否為閏年 如果是閏年為 1,否則為 0
o ISO-8601 格式年份數字。這和 Y 的值相同,只除了如果 ISO 的星期數(W)屬于前一年或下一年,則用那一年。(PHP 5.1.0 新加) Examples: 1999 or 2003
Y 4 位數字完整表示的年份 例如:19992003
y 2 位數字表示的年份 例如:9903
時(shí)間 --- ---
a 小寫(xiě)的上午和下午值 ampm
A 大寫(xiě)的上午和下午值 AMPM
B Swatch Internet 標準時(shí) 000999
g 小時(shí),12 小時(shí)格式,沒(méi)有前導零 112
G 小時(shí),24 小時(shí)格式,沒(méi)有前導零 023
h 小時(shí),12 小時(shí)格式,有前導零 0112
H 小時(shí),24 小時(shí)格式,有前導零 0023
i 有前導零的分鐘數 0059>
s 秒數,有前導零 0059>
u 毫秒 (PHP 5.2.2 新加)。需要注意的是 date() 函數總是返回 000000 因為它只接受 integer 參數, 而 DateTime::format() 才支持毫秒。 示例: 654321
時(shí)區 --- ---
e 時(shí)區標識(PHP 5.1.0 新加) 例如:UTC,GMT,Atlantic/Azores
I 是否為夏令時(shí) 如果是夏令時(shí)為 1,否則為 0
O 與格林威治時(shí)間相差的小時(shí)數 例如:+0200
P 與格林威治時(shí)間(GMT)的差別,小時(shí)和分鐘之間有冒號分隔(PHP 5.1.3 新加) 例如:+02:00
T 本機所在的時(shí)區 例如:EST,MDT(【譯者注】在 Windows 下為完整文本格式,例如“Eastern Standard Time”,中文版會(huì )顯示“中國標準時(shí)間”)。
Z 時(shí)差偏移量的秒數。UTC 西邊的時(shí)區偏移量總是負的,UTC 東邊的時(shí)區偏移量總是正的。 -4320043200
完整的日期/時(shí)間 --- ---
c ISO 8601 格式的日期(PHP 5 新加) 2004-02-12T15:19:21+00:00
r RFC 822 格式的日期 例如:Thu, 21 Dec 2000 16:01:07 +0200
U 從 Unix 紀元(January 1 1970 00:00:00 GMT)開(kāi)始至今的秒數 參見(jiàn) time()

格式字串中不能被識別的字符將原樣顯示。Z 格式在使用 gmdate() 時(shí)總是返回 0。

示例 #1 date() 例子

<?php
// 設定要用的默認時(shí)區。自 PHP 5.1 可用
date_default_timezone_set('UTC');


// 輸出類(lèi)似:Monday
echo date("l");

// 輸出類(lèi)似:Monday 15th of August 2005 03:12:46 PM
echo date('l dS \of F Y h:i:s A');

// 輸出:July 1, 2000 is on a Saturday
echo "July 1, 2000 is on a " date("l"mktime(000712000));

/* 在格式參數中使用常量 */
// 輸出類(lèi)似:Wed, 25 Sep 2013 15:28:57 -0700
echo date(DATE_RFC2822);

// 輸出類(lèi)似:2000-07-01T00:00:00+00:00
echo date(DATE_ATOMmktime(000712000));
?>

在格式字串中的字符前加上反斜線(xiàn)來(lái)轉義可以避免它被按照上表解釋。如果加上反斜線(xiàn)后的字符本身就是一個(gè)特殊序列,那還要轉義反斜線(xiàn)。

示例 #2 在 date() 中轉義字符

<?php
// prints something like: Wednesday the 15th
echo date("l \\t\h\e jS");
?>

可以把 date()mktime() 函數結合使用來(lái)得到未來(lái)或過(guò)去的日期。

示例 #3 date()mktime() 例子

<?php
$tomorrow  
mktime(000date("m")  , date("d")+1date("Y"));
$lastmonth mktime(000date("m")-1date("d"),   date("Y"));
$nextyear  mktime(000date("m"),   date("d"),   date("Y")+1);
?>

注意:

由于夏令時(shí)的緣故,這種方法比簡(jiǎn)單地在時(shí)間戳上加減一天或者一個(gè)月的秒數更可靠。

一些使用 date() 格式化日期的例子。注意要轉義所有其它的字符,因為目前有特殊含義的字符會(huì )產(chǎn)生不需要的結果,而其余字符在 PHP 將來(lái)的版本中可能會(huì )被用上。當轉義時(shí),注意用單引號以避免類(lèi)似 \n 的字符變成了換行符。

示例 #4 date() 格式舉例

<?php
// 假定今天是:March 10th, 2001, 5:16:18 pm
$today date("F j, Y, g:i a");                 // March 10, 2001, 5:16 pm
$today date("m.d.y");                         // 03.10.01
$today date("j, n, Y");                       // 10, 3, 2001
$today date("Ymd");                           // 20010310
$today date('h-i-s, j-m-y, it is w Day z ');  // 05-16-17, 10-03-01, 1631 1618 6 Fripm01
$today date('\i\t \i\s \t\h\e jS \d\a\y.');   // It is the 10th day.
$today date("D M j G:i:s T Y");               // Sat Mar 10 15:16:08 MST 2001
$today date('H:m:s \m \i\s\ \m\o\n\t\h');     // 17:03:17 m is month
$today date("H:i:s");                         // 17:16:17
$today date("Y-m-d H:i:s");                   // 2001-03-10 17:16:18 (MySQL DATETIME 格式)
?>

要格式化其它語(yǔ)種的日期,應該用 setlocale()strftime() 函數來(lái)代替 date()。

參見(jiàn) getlastmod(),gmdate(),mktime(),strftime()time()。

參數

format

輸出的日期 string 格式。 參見(jiàn)下文中的 格式化選項。 同時(shí),還可以使用 預定義日期常量 ,例如:常量 DATE_RSS 表示格式化字符串 'D, d M Y H:i:s'。

format 參數字符串中可識別下列字符
format 字符 描述 返回值示例
--- ---
d 一個(gè)月中的第幾天,有前導 0 的 2 位數字 0131
D 3 個(gè)字符表示的星期幾 MonSun
j 一個(gè)月中的第幾天,無(wú)前導 0 131
l (lowercase 'L') 星期幾,英文全稱(chēng) SundaySaturday
N ISO-8601 規定的數字表示的星期幾(PHP 5.1.0 新加 ) 1 (表示星期一)到 7 (表示星期日)
S 一個(gè)月中的第幾天,帶有 2 個(gè)字符表示的英語(yǔ)序數詞。 st, nd, rd 或者 th。 可以和 j 聯(lián)合使用。
w 數字表示的星期幾 0 (星期日) 到 6 (星期六)
z 一年中的第幾天,從 0 開(kāi)始計數 0365
--- ---
W ISO-8601 規范的一年中的第幾周,周一視為一周開(kāi)始。(PHP 4.1.0 新加) 示例: 42 (本年第42周)
--- ---
F 月份英文全拼,例如:January 或 March JanuaryDecember
m 帶有 0 前導的數字表示的月份 0112
M 3 個(gè)字符表示的月份的英文簡(jiǎn)拼 JanDec
n 月份的數字表示,無(wú)前導 0 1 through 12
t 給定月份中包含多少天 2831
--- ---
L 是否為閏年 如果是閏年,則返回 1,反之返回 0。
o ISO-8601 規范的年份,同 Y 格式。有一種情況除外:當 ISO 的周數(W)屬于前一年或者后一年時(shí),會(huì )返回前一年或者后一年的年份數字表達。 屬于前一年或者后一年時(shí),會(huì )返回前一年或者后一年的年份數字表達。 (PHP 5.1.0 新加) 示例:19992003
Y 4 位數字的年份 示例:19992003
y 2 位數字的年份 示例: 9903
時(shí)間 --- ---
a 上午還是下午,2 位小寫(xiě)字符 ampm
A 上午還是下午,2 位大寫(xiě)字符 AMPM
B 斯沃琪因特網(wǎng)時(shí)間 000999
g 小時(shí),12時(shí)制,無(wú)前導 0 112
G 小時(shí),24時(shí)制,無(wú)前導 0 023
h 小時(shí),12時(shí)制,有前導 0 的 2 位數字 0112
H 小時(shí),24時(shí)制,有前導 0 的 2 位數字 00 through 23
i 分鐘,有前導 0 的 2 位數字 0059
s 秒,有前導 0 的 2 位數字 0059
u 毫秒 (PHP 5.2.2 新加) 示例: 654321
時(shí)區 --- ---
e 時(shí)區標識(PHP 5.1.0 新加) 示例: UTC, GMT, Atlantic/Azores
I (大寫(xiě)字母 i) 是否夏令時(shí) 如果是夏令時(shí)則返回 1,反之返回 0。
O 和格林威治時(shí)間(GMT)的時(shí)差,以小時(shí)為單位 示例: +0200
P 和格林威治時(shí)間(GMT)的時(shí)差,包括小時(shí)和分鐘,小時(shí)和分鐘之間使用冒號(:)分隔(PHP 5.1.3 新加) 示例: +02:00
T 時(shí)區縮寫(xiě) 示例:EST, MDT ...
Z 以秒為單位的時(shí)區偏移量。UTC 以西的時(shí)區返回負數,UTC 以東的時(shí)區返回正數。 -4320050400
完整的日期/時(shí)間 --- ---
c ISO 8601 日期及時(shí)間(PHP 5 新加) 2004-02-12T15:19:21+00:00
r ? RFC 2822 格式的日期和時(shí)間 示例:Thu, 21 Dec 2000 16:01:07 +0200
U 自 1970 年 1 月 1 日 0 時(shí) 0 分 0 秒(GMT 時(shí)間)以來(lái)的時(shí)間,以秒為單位 參見(jiàn)time()

格式化字符串中的不可識別字符將原樣輸出。 當使用 gmdate() 函數時(shí), Z 格式永遠返回 0。

注意:

由于本函數僅接受 integer 類(lèi)型的時(shí)間戳參數,所以 u 格式僅在使用 date_format() 函數并且使用 date_create() 函數創(chuàng )建時(shí)間戳時(shí)才是有用的。

timestamp

可選的 timestamp 參數是一個(gè) int 的 Unix 時(shí)間戳,如未指定或是 null,參數值默認為當前本地時(shí)間。也就是說(shuō),其值默認為 time() 的返回值。

返回值

返回格式化后的日期時(shí)間的字符串表達。 如果 timestamp 參數不是一個(gè)有效數值,則返回 false 并引發(fā) E_WARNING 級別的錯誤。

錯誤/異常

在每次調用日期/時(shí)間函數時(shí),如果時(shí)區無(wú)效則會(huì )引發(fā) E_NOTICE 錯誤。參見(jiàn) date_default_timezone_set()。

更新日志

版本 說(shuō)明
5.1.0 時(shí)間戳的有效取值范圍為 GMT 時(shí)間的 1901 年 12 月 13 日至 GMT 時(shí)間的 2038 年 1 月 19 日。 (32 位有符號整數的取值范圍)。 但是,在 PHP 5.1.0 之前的版本,在某些系統(例如 Windows)上有效取值范圍為 1970 年 1 月 1 日至 2038 年 1 月 19 日。
5.1.0

現在發(fā)布 E_STRICTE_NOTICE 時(shí)區錯誤。

5.1.1 format 參數標準的可用日期/時(shí)間格式常量見(jiàn): 常量

范例

示例 #5 date() 函數示例

<?php
// 設置默認時(shí)區。PHP 5.1 之后版本可用
date_default_timezone_set('UTC');


// 輸出類(lèi)似: Monday
echo date("l");

// 輸出類(lèi)似:Monday 8th of August 2005 03:12:46 PM
echo date('l jS \of F Y h:i:s A');

// 輸出:July 1, 2000 is on a Saturday
echo "July 1, 2000 is on a " date("l"mktime(000712000));

/* 使用格式常量 */
// 輸出類(lèi)似: Mon, 15 Aug 2005 15:12:46 UTC
echo date(DATE_RFC822);

// 輸出類(lèi)似:2000-07-01T00:00:00+00:00
echo date(DATE_ATOMmktime(000712000));
?>

可以使用反斜線(xiàn)進(jìn)行轉義來(lái)阻止函數解析格式字符串中的可識別字符。 如果反斜線(xiàn)和要轉義的字符連在一起依然是一個(gè)有效的字符序列,那么需要對 反斜線(xiàn)再次進(jìn)行轉義。

示例 #6 對 date() 函數中的格式字符串進(jìn)行轉義

<?php
// 輸出類(lèi)似: Wednesday the 15th
echo date('l \t\h\e jS');
?>

可以聯(lián)合使用 date()mktime() 函數 來(lái)構造之前或者之后的日期時(shí)間。

示例 #7 date()mktime() 聯(lián)合使用示例

<?php
$tomorrow  
mktime(000date("m")  , date("d")+1date("Y"));
$lastmonth mktime(000date("m")-1date("d"),   date("Y"));
$nextyear  mktime(000date("m"),   date("d"),   date("Y")+1);
?>

注意:

由于存在夏令時(shí)時(shí)間, 所以此方案相對于直接在時(shí)間戳上加/減秒數 要更加可靠。

date() 函數格式化的一些示例。 需要注意的是,即使是對于當前來(lái)說(shuō)并不具有特殊含義的字符, 也要像對待具有特殊含義的字符那樣進(jìn)行轉義,以避免函數返回非預期的值。 因為可能在將來(lái)的 PHP 版本中,這些字符會(huì )被賦予特殊的含義。 進(jìn)行轉義的時(shí)候,請確保使用單引號,以避免 \n 被解釋為換行符號。

示例 #8 date() 函數格式化

<?php
// 假設今天是 2001 年 3 月 10 日下午 5 點(diǎn) 16 分 18 秒,
// 并且位于山區標準時(shí)間(MST)時(shí)區

$today date("F j, Y, g:i a");                 // March 10, 2001, 5:16 pm
$today date("m.d.y");                         // 03.10.01
$today date("j, n, Y");                       // 10, 3, 2001
$today date("Ymd");                           // 20010310
$today date('h-i-s, j-m-y, it is w Day');     // 05-16-18, 10-03-01, 1631 1618 6 Satpm01
$today date('\i\t \i\s \t\h\e jS \d\a\y.');   // it is the 10th day.
$today date("D M j G:i:s T Y");               // Sat Mar 10 17:16:18 MST 2001
$today date('H:m:s \m \i\s\ \m\o\n\t\h');     // 17:03:18 m is month
$today date("H:i:s");                         // 17:16:18
?>

如果需要將日期時(shí)間格式化為其他語(yǔ)言,你應該使用 setlocale()strftime() 函數 來(lái)替代 date() 函數。

注釋

注意:

使用 strtotime() 函數將一個(gè)字符串表達的日期時(shí)間轉換為時(shí)間戳。 另外,一些數據庫產(chǎn)品也提供了將日期時(shí)間格式轉換為時(shí)間戳的函數。 (例如 MySQL 中的 ? UNIX_TIMESTAMP 函數)。

小技巧

從 PHP 5.1 版本開(kāi)始,請求的開(kāi)始時(shí)間可以從變量 $_SERVER['REQUEST_TIME'] 中獲取。

參見(jiàn)

男女疯狂一边摸一边做羞羞视频|啊好深好硬快点用力别停动态图|亚洲一区无码中文字幕|特级无码毛片免费视频播放▽|久久狠狠躁免费观看|国内精品久久久久久网站