php 常用的时间函数,PHP日期时间常用函数

日期时间函数库简介

日期时间函数库是PHP内置函数库,可以通过日期时间函数库获得服务器的日期时间相关内容。

设置时区的方法

中国常用时区PRC(中华人民共和国)、Asia/Shanghai(上海)、Asia/Chongqing’(重庆);

修改php.ini的设置

方法1

修改PHP配置文件date.timezone设置时区,在php.ini中设置时区date.timezone = PRC

修改程序文件

方法2

date_default_timezone_set(); //设置当前时区

date_default_timezone_get(); //得到当前时区

实例

date_default_timezone_set('PRC');

echo date_default_timezone_get();

方法3

ini_set() //运行时设置PHP的配置选项

ini_get() //获得配置选项的值

实例

ini_set('date.timezone','Asia/Shanghai');

echo ini_get('date.timezone');

php时间函数及用法

checkdate函数

checkdate(int $month, int $day, int $year)

//验证日期的正确性,如果给出的日期有效则返回 TRUE,否则返回 FALSE。

$month 的值是从 1 到 12

$day 的值在给定的 month 所应该具有的天数范围之内,闰年已经考虑进去了

$year 的值是从 1 到 32767

实例

var_dump(checkdate(12, 31, 2000));

var_dump(checkdate(2, 29, 2001));

?>

date()函数

date() //将服务器的时间格式化,$timestamp 是可选的,默认值为 time()

date(string $format, int $timestamp)

$format&说明&返回值例子

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

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

z &年份中的第几天 &0 到 365

t &指定的月份有几天 &28 到 31

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

星期

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

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

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

W &年份中的第几周 &例如:42(当年的第 42 周)

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

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

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

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

时间

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

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

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

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

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

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

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

s &秒数,有前导零 &00 到 59>

实例

date('y-m-d') //16-08-02

date('H:i:s a') //2:09:09 am

date('w') //返回一周内的第几天 值是 0-6

time()函数

time() //返回当前的 Unix 时间戳

时间戳就是从格林威治时间1970年1月1日00:00:00到当前时间所经历的秒数

实例

echo date('y-m-d H:i:s',time());

echo '一天后的这个时间为:'.date('y-m-d H:i:s',time()+24*60*60);

echo '一周后的这个时间为:'.date('y-m-d H:i:s',time()+7*24*60*60);

echo '14天之前的这个时间为:'.date('y-m-d H:i:s',time()-14*24*60*60);

?>

mktime()函数

mktime([int $hour = date("H"), int $minute = date("i"), int $second = date("s"), int $month = date("n"),

int $day = date("j"), int $year = date("Y"))

//将指定日期的转换成时间戳,里面的参数可依次省略

实例

//2018-09-01 00:00:00

//计算两个日期的时间差

$bir = mktime(0,0,0,08,02,1992);

$now = time();

$age = floor(($now-$bir)/(24*3600*365));

floor() 函数向下舍入为最接近的整数

echo(floor(5.1);

echo(floor(-5.1);

输出 5 -6

strtotime()函数

strtotime(string $time, int $now = time()) //将英文文本的日期时间描述解析为 Unix 时间戳

实例

echo strtotime('now');

echo strtotime('10 September 2000');

echo strtotime('+1 day');

echo strtotime('+1 week');

echo strtotime('+1 week 2 days 4 hours 2 seconds');

echo strtotime('next Thursday');

echo strtotime('last Monday');

getdate()函数

getdate(int $timestamp = time()) //取得日期/时间信息

返回一个根据 timestamp 得出的包含有日期信息的关联数组 array

gettimeofday (bool $return_float = false) //取得当前时间

默认返回一个 array。如果 return_float 设置了则会返回一个 float

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值