函数各参数详解,PHP中普遍的格式化突显时间日

作者: 关于计算机  发布:2019-09-27

time()函数

date()函数

time() 函数重返当前岁月的 Unix 时间戳。再次回到自从 Unix 纪元(Green威治时间 一九七零 年 1 月 1 日 00:00:00)到当下时刻的秒数。

以此函数就比较熟习了

自 PHP 5.1 起在 $_SERVER['REQUEST_TIME'] 中保存了倡导该供给时刻的年华戳。

 代码如下

 代码如下

<?php
echo("Result with date():<br />");
echo(date("l") . "<br />");
echo(date("l dS of F Y h:i:s A") . "<br />");
echo("Oct 3,1975 was on a ".date("l", mktime(0,0,0,10,3,1975))."<br />");
echo(date(DATE_RFC822) . "<br />");
echo(date(DATE_ATOM,mktime(0,0,0,10,3,1975)) . "<br /><br />");

<?php
$time = time();
echo($time . "<br />");
echo(date("D F d Y", $time));
?>

echo("Result with gmdate():<br />");
echo(gmdate("l") . "<br />");
echo(gmdate("l dS of F Y h:i:s A") . "<br />");
echo("Oct 3,1975 was on a ".gmdate("l", mktime(0,0,0,10,3,1975))."<br />");
echo(gmdate(DATE_RFC822) . "<br />");
echo(gmdate(DATE_ATOM,mktime(0,0,0,10,3,1975)) . "<br />");
?>

程序运行结果:

Result with date():
Wednesday
Wednesday 22nd of December 2010 02:36:18 AM
Oct 3,1975 was on a Friday
Wed, 22 Dec 10 02:36:18 +0000
1975-10-03T00:00:00+00:00

1292984702 

Result with gmdate():
Wednesday
Wednesday 22nd of December 2010 02:36:18 AM
Oct 3,1975 was on a Friday
Wed, 22 Dec 10 02:36:18 +0000
1975-10-03T00:00:00+00:00

Wed December 22 2010

依附PHP手册里的date()函数参数表达

1292984702单位是秒,从1969 年 1 月 1 日 00:00:00到近期的秒数。

a - "am" 或是 "pm"
A - "AM" 或是 "PM"
d - 几日,二人数字,若不足四位则前面补零; 如: "01" 至 "31"
D - 星期几,多少个丹麦语字母; 如: "Fri"
F - 月份,俄语姓名; 如: "January"
h - 12 小时制的钟点; 如: "01" 至 "12"
H - 24 小时制的钟点; 如: "00" 至 "23"
g - 12 小时制的小时,不足三人不补零; 如: "1" 至 12"
G - 24 时辰制的小时,不足三个人不补零; 如: "0" 至 "23"
i - 分钟; 如: "00" 至 "59"
j - 几日,肆个人数字,若欠缺三人不补零; 如: "1" 至 "31"
l - 星期几,德文姓名; 如: "Friday"
m - 月份,二人数字,若欠缺四人则在前边补零; 如: "01" 至 "12"
n - 月份,四位数字,若欠缺几人则不补零; 如: "1" 至 "12"
M - 月份,多少个藏语字母; 如: "Jan"
s - 秒; 如: "00" 至 "59"
S - 字尾加葡萄牙共和国(República Portuguesa)语序数,三个西班牙语字母; 如: "th","nd"
t - 钦定月份的大运; 如: "28" 至 "31"
U - 总秒数
w - 数字型的星期几,如: "0" (星期天) 至 "6" (星期天)
Y - 年,四个人数字; 如: "1999"
y - 年,四人数字; 如: "99"
z - 一年中的第几天; 如: "0" 至 "365" 

不常大家想清楚下周的后天的部分景色,举例是几号,星期几等等,大家得以这样写:

 代码如下

<?php
$nextWeek = time() + (7 * 24 * 60 * 60); // 7 days; 24 hours; 60 mins; 60secs
echo 'Now:       '. date('Y-m-d') ."<br />";
echo 'Next Week: '. date('Y-m-d D', $nextWeek) ."<br />";
?>

程序运维结果:

Now: 2010-12-22 

Next Week: 2010-12-29 Wed

date()函数

本条函数就相比较熟练了。

 代码如下

<?php
echo("Result with date():<br />");
echo(date("l") . "<br />");
echo(date("l dS of F Y h:i:s A") . "<br />");
echo("Oct 3,1975 was on a ".date("l", mktime(0,0,0,10,3,1975))."<br />");
echo(date(DATE_RFC822) . "<br />");
echo(date(DATE_ATOM,mktime(0,0,0,10,3,1975)) . "<br /><br />");

echo("Result with gmdate():<br />");
echo(gmdate("l") . "<br />");
echo(gmdate("l dS of F Y h:i:s A") . "<br />");
echo("Oct 3,1975 was on a ".gmdate("l", mktime(0,0,0,10,3,1975))."<br />");
echo(gmdate(DATE_RFC822) . "<br />");
echo(gmdate(DATE_ATOM,mktime(0,0,0,10,3,1975)) . "<br />");
?>

程序运营结果:

Result with date():
Wednesday
Wednesday 22nd of December 2010 02:36:18 AM
Oct 3,1975 was on a Friday
Wed, 22 Dec 10 02:36:18 +0000
1975-10-03T00:00:00+00:00

Result with gmdate():
Wednesday
Wednesday 22nd of December 2010 02:36:18 AM
Oct 3,1975 was on a Friday
Wed, 22 Dec 10 02:36:18 +0000
1975-10-03T00:00:00+00:00

为此,大家理应给贰个宽容性的写法,统一运用gmdate,并手工业安装当前时区,写法革新如下:

 代码如下

echo gmdate('Y-m-d H:i:s', time() + 3600 * 8);

诸有此类不管在Linux+Apache下依旧Windows下都拿走了不利的结果,当然如此写还大概有三个受益,当网址是面向环球的时候,那么网址顾客只要设置所在的时区,程序自动依照客商设置的时区实行时间测算,数据库中国国投息发布时间只存当前的time()所生成的年华,那么在炎黄+8时区看来的颁发时间是:二〇〇五-03-14 12:15:27,那么在南美洲+2时区客户观望这一个消息的揭露时间是:2006-03-14 06:15:27,那样音信的时辰就全部应和准确了。

一个用于社区的自定格式展现日期

 代码如下

/**
* 格式化来得时间函数
*
* 类似豆瓣(几秒前/几分前/后天3:50/前天3:50/3-6)
*
* @param $timestamp 时间戳 必选参数,后面七个参数可选,为巩固总结速度,提议直接赋值
* @param $now 当前天子戳
* @param $today 今天00:00时间戳
* @param $yesterday 昨天00:00时间戳
* @return string
*/
function timeshow($timestamp,$now=0,$today=0,$yesterday = 0){
if(! $timestamp){return '';}
if(! $now){$now = time();}
if(! $today){$today = strtotime("today");}
if(! $yesterday){$yesterday = $today-86400;}
$cha = $now-$timestamp;
if($cha<60){
return $cha."秒前";
}elseif($cha<60*60){
$min = floor($cha/60);
return $min."分钟前";
}elseif($timestamp>=$today){
return date("今天H:i",$timestamp);
}elseif($timestamp>=$yesterday){
return date("昨天H:i",$timestamp);
}else{
return date("m-d",$timestamp);
}
}

作品最终给大家介绍一些参数

格式化方式说明:
格式化方式 说明
Y 4位数字年,y为2位数字,如99即1999年
m 数字月份,前面有前导0,如01。n 为无前导0数字月份
F 月份,完整的文本格式,例如 January 或者 March
M 三个字母缩写表示的月份,例如 Jan 或者 Mar
d 月份中的第几天,前面有前导0,如03。j 为无前导0的天数
w 星期中的第几天,以数字表示,0表示星期天
z 年份中的第几天,范围0-366
W 年份中的第几周,如第32周
H 24小时格式,有前导0,h为12小时格式
G 24小时格式,无前导0,g为对应12小时格式
i 分钟格式,有前导0
s 秒格式,有前导0
A 大写上下午,如AM,a为小写

可选参数 timestamp 表示时间戳,默感到 time() ,即当前光阴戳。

本文由贝博体育app发布于关于计算机,转载请注明出处:函数各参数详解,PHP中普遍的格式化突显时间日

关键词: