码迷,mamicode.com
首页 > Web开发 > 详细

PHP -- 时间函数

时间:2015-08-05 00:53:06      阅读:170      评论:0      收藏:0      [点我收藏+]

标签:

PHP – 时间函数

PHP – 时间函数

时区

/etc/php.ini

date.timezone = Asia/Shanghai
date_default_timezone_set(‘Asia/Shanghai);
setlocale(LC_TIME, "C");
echo strftime("%Y-%m-%d: %T"), ‘<br>‘;

date 的时间格式

年:

Y:       4 位数
y:       2 位数

月:

F  January 到 December
m  01 到 12
n  1 到 12
M  Jan 到 Dec

日:

d  01 到 31
j  1 到 31

星期

D  Mon 到 Sun
j  1 到 31
l  Sunday 到 Saturday
N  1 到 7
w  0 (表示星期天) 到 6

小时:

h  无前导 0 的 24 小时
H  有前导 0 的 24 小时
g  无前导 0 的 12 小时
G  有前导 0 的 12 小时
a  am, pm
A  AM, PM

分钟:

i  有前导 0

秒:

s  有前导 0

毫秒:

u  毫秒数

time

时间是 1970-01-01 00:00:00 到现在经过的秒数

time()             # 单位是 s
microtime()        # 单位是 s
microtime(1)       # 单位是 ms

date

echo date(‘Y-m-d H:i:s‘);
echo date(‘Y-m-d H:i:s‘, time());
echo date(‘Y-m-d H:i:s‘, filectime($file));

mktime

mktime (H, i, s, m, d, Y)
mktime(14, 23, 23, 07, 08, 1995)
echo date(‘Y-m-d H:i:s‘, mktime(0, 0, 0, 1, 1, 1970));

strftime

年:

%Y  4 位
%y  2 位

月:

%b  简写
%B  全写
%m  00~12

日:

%d  01 到 31
%e  1 到 31

星期

%a  简写
%A  全写
%u  1 到 7
%w  0 到 6

小时:

%H  00 ~ 23
%I  01 ~ 12
%l  1 ~ 12
%P  AM, PM
%p  am, pm

分钟:

%M  00 ~ 59

秒:

%S  00 ~ 59

简写:

%F  2009-04-05
%T  23:34:59

strftime 通常跟 setlocale 一起用

setlocale

LC_ALL
LC_COLLATE
LC_CTYPE
LC_MONETARY       monetary: 货币
LC_NUMERIC
LC_TIME
setlocale (LC_ALL, ‘zh_CN.utf8‘);
echo strftime (‘%F %T‘);
echo strftime (‘%F %T‘, time());

strtotime

strtotime (‘1 days‘);
strtotime (‘1 day‘);
strtotime (‘+45 days‘);
strtotime (‘-45 days‘);
strtotime (‘-4 weeks‘);
strtotime (‘-4 week‘);
strtotime (‘4 weeks 2 days‘);
strtotime (‘-4 weeks -2 days‘);

DateTime

$raw = ‘22. 11. 1968. 16. 52. 38‘;
$start = DateTime::createFromFormat(‘d. m. Y. H. i. s‘, $raw);
echo ‘Start date: ‘ . $start->format(‘Y-m-d H:i:s‘) . "<br>";

$start->setDate(2015, 8, 4);
$start->setTime(19, 20, 00);

echo ‘Current date: ‘ . $start->format(‘Y-m-d H:i:s‘) . "<br>";


$start->modify("+1days +24hours");
echo ‘Current date: ‘ . $start->format(‘Y-m-d H:i:s‘) . "<br>";

DateInterval

$time1 = DateTime::createFromFormat(‘Y-m-d H:i:s‘, ‘2015-08-10 12:00:20‘);
// $time1 = DateTime::createFromFormat(‘Y-m-d H:i:s‘, ‘2015-08-10 12:0:20‘); // 报错

echo $time1->format(‘Y-m-d H:i:s‘), ‘<br>‘;

$time2 = DateTime::createFromFormat(‘Y-m-d H:i:s‘, ‘2017-09-10 22:10:30‘);
echo $time2->format(‘Y-m-d H:i:s‘), ‘<br>‘;

$span = $time2->diff($time1);           // time2 - time1
echo $span->format(‘%R‘);
echo $span->format(‘%Y-%M-%D: ‘);
echo $span->format(‘%H:%I:%S‘);
// -02-01-00: 10:10:10


$span = $time1->diff($time2);           // time1 - time2
echo $span->format(‘%R‘);
echo $span->format(‘%Y-%M-%D: ‘);
echo $span->format(‘%H:%I:%S‘);
// -02-01-00: 10:10:10

// Y   表示有前导零
// R   "-" when negative, "+" when positive   -, +
// r   "-" when negative, empty when positive -,

PHP -- 时间函数

标签:

原文地址:http://www.cnblogs.com/sunznx/p/4703451.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!