您的位置:首页 > 编程语言 > PHP开发

PHP初学笔记-日期与时间

2018-01-13 14:02 323 查看
0x01 checkdate() 验证一个格利高里日期.

其实是验证一个日期是否合法。返回值为bool型,参数由左至右分别是月、日、年。

bool checkdate ( int $month , int $day , int $year )
<?php
echo checkdate(7,6,2018);//1
0x02 date() 格式化一个本地时间/日期

string date ( string $format [, int $timestamp ] )

<?php
echo date('Y-M-D');//2018-Jan-Fri
echo date('y-M-D');//18-Jan-Fri
echo date('Y-m-d');//2018-01-12


形式很多参见手册。

注意,后面的可选参数是时间戳,如果省略则返回当前时间,如果没省略则返回该时间戳的时间。

0x03
getdate()

array getdate ([ int $timestamp = time() ] )
返回一个数组print_r(getdate())
"Array
(
[seconds] => 39
[minutes] => 43
[hours] => 7
[mday] => 13
[wday] => 6
[mon] => 1
[year] => 2018
[yday] => 12
[weekday] => Saturday
[month] => January
[0] => 1515829419
)"

可以传递一个时间戳,否则为当前时间。
0x04 time()

直接获取当前时间戳
<?php
echo time().'<br>';//1515835992
echo date('H:m:s',time());//09:01:12

计算大陆时间,因为我们在东八区,所以要加上8个小时,但是时间戳是按照秒计算的,所以要把8个小时换算成秒,就是

echo date('H:m:s',time()+(60*60*8);//17:01:12
0x05 将时间转换为时间戳

mktime()

int 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") [, int $is_dst = -1 ]]]]]]] )
参数分别是时、分、秒、月、日、年,输出2018-1-13 17:43分的时间戳
<?php
echo mktime(17,43,00,1,13,2018);//1515865380

  如果想输入更舒适的话可以用这个strtotime()

int strtotime ( string $time [, int $now = time() ] )
<?php
echo strtotime('2018-1-13 17:45:45');//1515865545

0x06 设置时区 
date_default_timezone_set('Asia/Shanghai');

(将时区设置为上海时区)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: