首页 > 编程知识 正文

php各种时间参数详解,php 时间

时间:2023-12-27 22:26:33 阅读:324456 作者:DZAS

本文目录一览:

php 的日期函数的问题

date函数返回各种格式的日期值,date(格式,[日期]),第一个参数是格式,第二个参数是日期,第二个参数可以省略(当前日期),例如date('l')就得到当前星期的完整名称,参数是小写的字母L,结果是Sunday 到 Saturday。

date函数详细的格式字符如下:

格式字串可以识别以下 format 参数的字符串

format 字符

说明

返回值例子

日 --- ---

d 月份中的第几天,有前导零的 2 位数字 01 到 31

D 星期中的第几天,文本表示,3 个字母 Mon 到 Sun

j 月份中的第几天,没有前导零 1 到 31

l(“L”的小写字母) 星期几,完整的文本格式 Sunday 到 Saturday

N ISO-8601 格式数字表示的星期中的第几天(PHP 5.1.0 新加) 1(表示星期一)到 7(表示星期天)

S 每月天数后面的英文后缀,2 个字符 st,nd,rd或者 th。可以和 j 一起用

w 星期中的第几天,数字表示 0(表示星期天)到 6(表示星期六)

z 年份中的第几天 0 到 366

星期 --- ---

W ISO-8601 格式年份中的第几周,每周从星期一开始(PHP 4.1.0 新加的) 例如:42(当年的第 42 周)

月 --- ---

F 月份,完整的文本格式,例如 January 或者 March January 到 December

m 数字表示的月份,有前导零 01 到 12

M 三个字母缩写表示的月份 Jan 到 Dec

n 数字表示的月份,没有前导零 1 到 12

t 给定月份所应有的天数 28 到 31

年 --- ---

L 是否为闰年 如果是闰年为 1,否则为 0

o ISO-8601 格式年份数字。这和 Y 的值相同,只除了如果 ISO 的星期数(W)属于前一年或下一年,则用那一年。(PHP 5.1.0 新加) Examples: 1999 or 2003

Y 4 位数字完整表示的年份 例如:1999 或 2003

y 2 位数字表示的年份 例如:99 或 03

时间 --- ---

a 小写的上午和下午值 am 或 pm

A 大写的上午和下午值 AM 或 PM

B Swatch Internet 标准时 000 到 999

g 小时,12 小时格式,没有前导零 1 到 12

G 小时,24 小时格式,没有前导零 0 到 23

h 小时,12 小时格式,有前导零 01 到 12

H 小时,24 小时格式,有前导零 00 到 23

i 有前导零的分钟数 00 到 59

s 秒数,有前导零 00 到 59

时区 --- ---

e 时区标识(PHP 5.1.0 新加) 例如:UTC,GMT,Atlantic/Azores

I 是否为夏令时 如果是夏令时为 1,否则为 0

O 与格林威治时间相差的小时数 例如:+0200

P 与格林威治时间(GMT)的差别,小时和分钟之间有冒号分隔(PHP 5.1.3 新加) 例如:+02:00

T 本机所在的时区 例如:EST,MDT(【译者注】在 Windows 下为完整文本格式,例如“Eastern Standard Time”,中文版会显示“中国标准时间”)。

Z 时差偏移量的秒数。UTC 西边的时区偏移量总是负的,UTC 东边的时区偏移量总是正的。 -43200 到 43200

完整的日期/时间 --- ---

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)开始至今的秒数

php日期相关

//你还需要知道的另一个变量是年份,不过依你的意思应该是当年。

$timestamp = time();

$dateYear = date('Y', $timestamp);//当前年,依当前需要可以不需要比较,但有时也许会用到,比如你的记录不是当年要处理的

$dateMonth = date('n', $timestamp);//当前月份数字,没有前导零

$dateDay = date('j', $timestamp);//月份中的第几天,没有前导零

//剩下的就是比较了,比如你要比较的日期是 2007-03-01

$eventDate = '2007-03-01';

$eventDateArr = explode('-', $eventDate);

$eventYear = intval($eventDateArr[0]);

$eventMonth = intval($eventDateArr[1]);

$eventDay = intval($eventDateArr[2]);

//上面是年月日的拆分,根据实际情况可以调整,如果你直接可以得到就不需要这样取了。

//之后剩下的就是比较了,先比较年

if($dateYear == $eventYear) {

//同年

if($dateMonth == $eventMonth) {

//同月

if($dateDay == $eventDay) {

//同一天,就是当前日期就是事件触发的日期

} elseif($dateDay $eventDay) {

//事件已经过期了

} else {

//事件触发日期还没到

}

} else {

//之前或之后,再需要详细判断可以在这里比较哪个月份大

}

} else {

//之前或之后,再需要详细判断可以在这里比较哪个年份大

}

//其实这种比较是最简单的逻辑判断,如果你在记录时间触发日期时记录的是 unix 时间戳,这里可以直接进行时间戳比较不过需要处理一下,因为时间戳是精确到秒的

//或者把你记录的日期及其后一天直接转化成 unix 时间戳,时分秒都用 0 ,和当前时间戳比较,细节判断就自己去分析吧,可用函数去查查手册里面 strtotime() ,时间相关函数参数很多,不过用过几次就熟悉了。

php的时间表示代码谁知道?

PHP获取系统当前时间

使用函式 date() 实现

?php echo $showtime=date("Y-m-d H:i:s");?

显示的格式: 年-月-日 小时:分钟:秒

相关时间参数:

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 - 字尾加英文序数,二个英文字母; 如: "th","nd"

t - 指定月份的天数; 如: "28" 至 "31"

U - 总秒数

w - 数字型的星期几,如: "0" (星期日) 至 "6" (星期六)

Y - 年,四位数字; 如: "1999"

y - 年,二位数字; 如: "99"

z - 一年中的第几天; 如: "0" 至 "365"

PHP计算时间 详细有追加 急!急!急!

你的时间$time1、$time2、$time3等不要只取时分,将日期一起带上就可以完整的比较了,哪怕下班时间在第二天也不会影响。

比如上班时间在2011.07.07 08:00:00;下班时间设定为:2011.07.08 2:30:00,那么只要系统时间在这二者之间,就可以显示: '正在营业,欢迎光临'。

假设操作员设定时只输入几点几分,比如上班时间:8:00:00;下班时间:2:30:00,那么实际上他隐含的意思是下班在第二天的2:30,而不会是当天。对此,可以将程序设定为必须输入日期;或者,程序在得到用户输入的时间后自动加上一个当前的日期,也就是不仅仅用时间作为参数,一定要加上日期。

PHP入门教程之日期与时间操作技巧总结(格式化,验证,获取,转换,计算等)

本文实例讲述了PHP日期与时间操作技巧。分享给大家供大家参考,具体如下:

Demo1.php

?php

//验证时间

//checkdate()

1.月份

2.日

3.年

//checkdate()

判断这个日期是否是合法的日期

//不合法的日期,试一试

if(checkdate(7,16,2010)){

echo

'这个日期是合法有效的';

}else{

echo

'这个日期是非法的。';

}

?

Demo2.php

?php

//date

--

格式化一个本地时间/日期

//date(),

彻底研究一下

//date()

可以存放两个参数,第一参数是日期和时间的格式化,[第二参数是时间戳]

//Y

表示四位数的年份,

y表示二位数的年份

//M

表示英文的月份缩写,m

表示阿拉伯数字的月份

//D

表示英文下的星期几缩写,d

表示阿拉伯数字的日

//第一个参数的格式化可以放一些无关紧要的字符串

//只要无关紧要的字符串不再

format

的目录里,就不会被识别

//echo

date('现在的日期是:Y-m-d');

//现在的日期是:2015-04-20

//时分秒

=

H

表示24小时制的小时,

//明明是

19

,为什么显示

11

点呢,东八区,差

8

个小时

//现在没有经过任何设置,所以时间在默认时区上

//echo

date('现在的日期是:Y-m-d

H:i:s');

//重点是年月日,时分秒

echo

date('r');

echo

date('现在的日期是:Y-m-d

H:i:sa');

?

Demo3.php

?php

//取得当前的时间,返回一个数组

//"sec"

-

Unix

纪元起的秒数

//"usec"

-

微秒数

//"minuteswest"

-

格林威治向西的分钟数

//"dsttime"

-

夏令时修正的类型

//print_r(gettimeofday());

//第一数组的元素就是时间戳

//gettimeofday()

就是取得的当前时间的时间戳

//$a

=

gettimeofday();

//sec

取得当前时间的时间戳

//转换成人可以看得懂的时间

//第二个参数,对于本例来讲,放与不放,是一样的。

//echo

date('Y-m-d

H:i:s',$a['sec']);

print_r(gettimeofday(0));

echo

gettimeofday(1);

?

Demo4.php

?php

//将时间戳转换成人可以看的懂的时间

//date()

函数的第二个参数就是时间戳

//如果第二个参数省略了,那么就返回当前时间

//如果第二个参数没有省略,那么就返回那个时间戳的时间

echo

date('Y-m-d

H:i:s',24554457865);

?

Demo5.php

?php

//getdate()

也可以转换时间戳

//print_r(getdate());

//Array

(

[seconds]

=

26

[minutes]

=

34

[hours]

=

10

[mday]

=

20

[wday]

=

1

[mon]

=

4

//[year]

=

2015

[yday]

=

109

[weekday]

=

Monday

[month]

=

April

[0]

=

1429526066

)

$t

=

getdate();

echo

$t['year'];

//传递一个时间戳

print_r(getdate(1029526066));

?

Demo6.php

?php

//直接获取当前时间戳

//echo

time();//1429526328

//这个

time()

可以调整时间

//大家可以发现

time()

很有用处,可以过去现在和将来

echo

date('Y-m-d

H:i:s',time()+60*60*8);

?

Demo7.php

?php

//获取特定指定时间的时间戳

//这是当前的时间戳

//echo

time();

//我要取得

2008-08-08

08:08:08

$beijing2008

=

mktime(8,8,8,8,8,2008);

echo

date('Y-m-d

H:i:s',$beijing2008);

?

Demo8.php

?php

//使用时间戳计算时间差

$now

=

time();//当前的时间戳

$wnow

=

mktime(0,0,0,8,16,2016);

//两个时间戳相减可以得到差秒

echo

round(($wnow

-

$now)/60/60,2).'相差这几个小时';

?

Demo9.php

?php

//将人可读的时间,字符串形式,转换成时间戳

$a

=

strtotime('2010-7-16

15:15:15')-strtotime('2010-7-16

15:14:15');

if($a

=

60){

echo

'请这位先生休息一会。';

}else{

echo

$a;

}

?

Demo10.php

?php

//获取当前文件的修改时间戳

echo

date('Y-m-d

H:i:s',getlastmod());

?

Demo11.php

?php

//配置系统环境变量

echo

date('Y-m-d

H:i:s');

echo

'br/';

//我开始设置时区

putenv('Tz=Asia/Shanghai');

echo

date('Y-m-d

H:i:s');

?

Demo12.php

?php

//putenv('Tz=Asia/Shanghai');

//获取当前时区

echo

date_default_timezone_get();

echo

'br/';

//开始配置默认时区

date_default_timezone_set('Asia/Shanghai');

echo

date('Y-m-d

H:i:s')

;

echo

'br/';

echo

date_default_timezone_get();

?

Demo13.php

?php

date_default_timezone_set('Asia/Shanghai');

//"tm_sec"

-

秒数

//"tm_min"

-

分钟数

//"tm_hour"

-

小时

//"tm_mday"

-

月份中的第几日

//"tm_mon"

-

年份中的第几个月,从

开始表示一月

//"tm_year"

-

年份,从

1900

开始

//"tm_wday"

-

星期中的第几天

//"tm_yday"

-

一年中的第几天

//"tm_isdst"

-

夏令时当前是否生效

print_r(localtime(time(),true));

//Array

(

[tm_sec]

=

37

[tm_min]

=

15

[tm_hour]

=

19

//[tm_mday]

=

20

[tm_mon]

=

3

[tm_year]

=

115

//[tm_wday]

=

1

[tm_yday]

=

109

[tm_isdst]

=

)

?

Demo14.php

?php

//返回时间戳和微秒数

//怎么计算页面运行加载时间

//页面打开的时候获取一个时间

//页面结束的时候获取一个时间

//用结束的时间减去打开的时间,那么就是运行时间

//

list($a,$b)=explode('

',microtime());

//

echo

$b;

function

fn(){

list($a,$b)=explode('

',microtime());

return

$a+$b;

//返回出精确的秒数

}

//在页面打开的时候,获取一个时间

$start_time

=

fn();

for($i=0;$i10000000;$i++){

//

}

//页面结束的时候,获取一个时间

$end_time

=

fn();

echo

round(($end_time

-

$start_time),4);

?

更多关于PHP相关内容感兴趣的读者可查看本站专题:《php日期与时间用法总结》、《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《php面向对象程序设计入门教程》、《PHP网络编程技巧总结》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家PHP程序设计有所帮助。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。