PHP时间处理

时间处理

设置时区

php 复制代码
// php.ini
date.timezone = Asia/Shanghai

或者直接在代码

php 复制代码
ini_set('date.timezone', 'Asia/Shanghai');
php 复制代码
date_default_timezone_set('Asia/Shanghai')

获取时间

microtime:获取unix时间戳,并带有毫秒

php 复制代码
microtime();
php 复制代码
0.66211600 1648106371

time:返回linux时间戳

css 复制代码
time();

getdate:获取日期时间信息,返回时间信息数组

php 复制代码
Array ( 
    [seconds] => 28 
    [minutes] => 18 
    [hours] => 15 
    [mday] => 24 
    [wday] => 4 
    [mon] => 3 
    [year] => 2022 
    [yday] => 82 
    [weekday] => Thursday 
    [month] => March 
    [0] => 1648106308 
)

格式化

format Des demo
d 月份中的第几天,使用两位的数字表示 不足两位时在前补 0 01 到 31
D 星期几的英文缩写( 3 字符) Mon 到 Sun
l 星期几的英文单词 Sunday 到 Saturday
N 根据 ISO-8601 标准格式,使用数字表示星期中的第几天(PHP5.1.0 新加) 1(表示星期一)到 7(表示星期天)
S 每月天数后面的英文后缀(2字符) st、nd、rd 或者 th。可以和 j 一起使用
w 使用数字表示星期中的第几天 0(表示星期天)到 6(表示星期六)
z 使用数字表示一年中的第几天 0 到 365
W 根据 ISO-8601 标准格式,使用数字表示年份中的第几周,每周从星期一开始,(PHP 4.1.0 新增) 例如:42(当年的第 42 周)
F 月份的英文单词,例如 January 或者 June January 到 December
m 使用两位的数字表示当前月份 01 到 12
M 月份的英文缩写 Jan 到 Dec
n 使用数字表示当前月份 1 到 12
t 指定月份的天数 28 到 31
L 指定的年份是否为闰年 如果是闰年值为 1,否则为 0
o 根据 ISO-8601 标准格式使用数字表示年份,这和 Y 的作用相同(PHP 5.1.0 新增) 1999 or 2019
Y 使用 4 位数字表示完整的年份 例如:1999 或 2019
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>
u 毫秒(PHP 5.2.2 新增)。需要注意的是 date() 函数总是返回 000000,因为它只接受 integer 参数,而 DateTime::format() 才支持毫秒 例如:654321
e 时区标识 例如:UTC、GMT、Atlantic/Azores
I 是否为夏令时 夏令时为 1,否则为 0
O 与格林尼治时间相差的小时数 例如:+0200
P 与格林尼治时间(GMT)的差别,小时和分钟之间由冒号分隔 例如:+02:00
T 本机所在的时区 例如:EST、MDT(在 windows 下为完整文本格式,例如"Eastern Standard Time",中文版会显示"中国标准时间")
Z 时差偏移量的秒数,UTC 西边的时区偏移量总是负的,UTC 东边的的时区偏移量总是正的 -43200 到 43200
c ISO-8601 格式的日期 2014-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)开始至今的秒数 和 time() 返回相同的时间戳

输入年月日时分秒

php 复制代码
date_default_timezone_set('Asia/Shanghai');
echo date('Y-m-d H:i:s') . '<br>';

字符串时间

strtotime:将英文文本描述的日期时间描述解析为 UNIX 时间戳

php 复制代码
int strtotime ( string $time [, int $now = time() ] )
  • time:规定日期/时间字符串
  • now:用来计算返回值的时间戳。如果省略该参数,则使用当前时间
php 复制代码
echo strtotime("now"), "<br />";
echo strtotime("10 September 2000"), "<br />";
echo strtotime("+1 day"), "<br />";
echo strtotime("+1 week"), "<br />";
echo strtotime("+1 week 2 days 4 hours 2 seconds"), "<br />";
echo strtotime("next Thursday"), "<br />";
echo strtotime("last Monday"), "<br />";

时间校验

checkdate:检验日期和时间的有效性,查看是否是合法的闰月之类

php 复制代码
checkdate(int $month, int $day, int $year): bool {}
php 复制代码
var_dump(checkdate(2, 30, 2000));
相关推荐
SuperHeroWu711 分钟前
ArkGenie 的技术原理:从一段 SSE 到一个可交互 Surface
开发语言·php·交互
nlp研究牲19 分钟前
Linux 常用命令速查手册:英文全称、中文释义、巧记方法与实战示例
linux·运维·php
企业解惑小助手30 分钟前
上网行为监控软件有哪些?部署后终端卡顿、断网、审计缺失怎么办?一份完整故障排查手册
开发语言·php
马立杰1 小时前
Docker Build 编译补丁版 PHP7.4 FPM 容器镜像教程(CVE-2026-109618 CVE-2026-109619)
运维·docker·容器·php
隔窗听雨眠3 小时前
从PHP2Shell回望:PHP内核漏洞的二十年演进与AI时代的攻防转折
开发语言·人工智能·php
hunteritself3 小时前
AI 挖出 PHP「致命漏洞」!欧洲政府连夜关站,日本首相紧急喊话
开发语言·人工智能·php
李纲明3 小时前
WordPress 媒体库上传图片报「HTTP 错误」:php.ini、临时目录、安全插件和 CDN 怎么逐层查
运维·php·上传·cdn·wordpress·媒体库
小白跃升坊10 小时前
PHP2Shell:AI 两天挖出 9.2 分漏洞,让全球 70% 网站连夜打补丁!1Panel 已经把修复版本封装好,推到了你的应用商店里。
php·开源安全·1panel·ai安全·漏洞披露
Json____13 小时前
PHP 突发严重安全漏洞,AI 开始改变网络安全的攻防方式
人工智能·web安全·php·it学习·wwwoop.com
catchadmin13 小时前
PHP 8.7 协程新提案 让跨协程代码共享请求身份
开发语言·php