PHP中时间的处理

常用格式符号:

d - 表示月里的某天(01-31)
m - 表示月(01-12)
Y - 表示年(四位数)
1 - 表示周里的某天
h - 带有首位零的 12 小时小时格式
i - 带有首位零的分钟
s - 带有首位零的秒(00 -59)
a - 小写的午前和午后(am 或 pm)

无需转换可使用date()函数:

date('Y-m-d h:i:sa');
date('Y-m-d h:i:sa', $d);  //$d为Unix时间戳

可使用mktime()函数获得某一日期的Unix时间戳:

mktime(hour,minute,second,month,day,year)

strtotime()函数可将自然语言智能的转化为时间戳(个人认为不可靠):

strtotime("10:38pm April 15 2015");
strtotime("tomorrow");
strtotime("next Saturday");
strtotime("+3 Months");
strtotime("+6 weeks",$startdate);

可也是用DateTime类进行高级操作:

$datetime = new \DateTime;
$datetime->format('Y-m-d H:i:s');

$datetime = new \DateTime('2016-06-13');

$datetime = \DateTime::createFromFormat('Ymd','20160618');
 
$datetime->getTimestamp();

$datetime->setTimestamp();

$datetime->setDate(2015, 2, 28); //类似mktime()


$datetime1 = new \DateTime('2016-01-01 10:11:18');
 
$datetime2 = new \DateTime('2017-05-11 22:21:21');
 
$interval = $datetime1->diff($datetime2);
 
print_r($interval->format('%Y'));
 
// %表示使用格式化,R表示是大于这个日期(+),还是小于这个日期(-),a表示大于或小于多少天,时分秒正常使用y,m,d,h,i,s

CentOS8+PHP8踩雷记录

1、CentOS8安装的时候语言要选英语,选择中文有中文的报错,但实际上并不适合Google纠错。

2、快速安装remi源。

dnf install dnf-utils
dnf install http://rpms.remirepo.net/enterprise/remi-release-8.rpm

3、CentOS8采用了dnf取代yum,其中module功能可快捷的切换软件源。

dnf [OPTIONS] module [COMMAND] [MODULE-SPEC]

OPTIONS:
详情查询 dnf(8) 的 man 帮助文档

COMMAND:
enable 启用模块
info 查询模块信息
remove 卸载模块
provides 查询模块的提供软件库信息
list 查询模块的详细信息
update 更新模块
install 安装模块
reset 重置模块
disable 禁用模块

MODULE-SPEC:
Name[:Stream[/Profiles]] 模块名称[:流[/配置]]
例如
dnf module list php                //查询php的可用module
dnf reset php                      //重置php的module(有可能需要添加--allowerasing)(必要,若直接install可能报错)
dnf module install php:remi-8.0/common    //安装新的php的module
dnf install php-{common,mysql,xml,xmlrpc,curl,gd,imagick,cli,fpm,mbstring,opcache,zip}

4、一定要关闭SELinux,否则php-fpm无法修改文件,即使是文件拥有者也不行!!!

setenforce 0    //临时关闭
vim /etc/selinux/config

SELINUX=enforcing改为SELINUX=disabled   //永久关闭
reboot

5、记得打开防火墙的80端口。

CentOS更新PHP

(现在CentOS8推荐使用dnf的module方式进行升级,具体见链接。)

1、卸载旧PHP

yum remove php*

2、安装EPEL

yum install epel-release
yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm

3、查看PHP

yum search php74

4、安装php

yum install php74-php-gd  php74-php-pdo php74-php-mbstring php74-php-cli php74-php-fpm php74-php-mysqlnd

5、启动fpm

service php74-php-fpm start