- PHP 教程
- PHP - 首页
- PHP - 简介
- PHP - 安装
- PHP - 历史
- PHP - 特性
- PHP - 语法
- PHP - Hello World
- PHP - 注释
- PHP - 变量
- PHP - Echo/Print
- PHP - var_dump
- PHP - $ 和 $$ 变量
- PHP - 常量
- PHP - 魔术常量
- PHP - 数据类型
- PHP - 类型转换
- PHP - 类型混合
- PHP - 字符串
- PHP - 布尔值
- PHP - 整数
- PHP - 文件与I/O
- PHP - 数学函数
- PHP - Heredoc 与 Nowdoc
- PHP - 复合类型
- PHP - 文件包含
- PHP - 日期与时间
- PHP - 标量类型声明
- PHP - 返回类型声明
- PHP 运算符
- PHP - 运算符
- PHP - 算术运算符
- PHP - 比较运算符
- PHP - 逻辑运算符
- PHP - 赋值运算符
- PHP - 字符串运算符
- PHP - 数组运算符
- PHP - 条件运算符
- PHP - 展开运算符
- PHP - 空值合并运算符
- PHP - 比较运算符
- PHP 控制语句
- PHP - 决策
- PHP - If...Else 语句
- PHP - Switch 语句
- PHP - 循环类型
- PHP - For 循环
- PHP - Foreach 循环
- PHP - While 循环
- PHP - Do...While 循环
- PHP - Break 语句
- PHP - Continue 语句
- PHP 函数
- PHP - 函数
- PHP - 函数参数
- PHP - 按值传递
- PHP - 按引用传递
- PHP - 默认参数
- PHP - 具名参数
- PHP - 可变参数
- PHP - 返回值
- PHP - 传递函数
- PHP - 递归函数
- PHP - 类型提示
- PHP - 变量作用域
- PHP - 严格类型
- PHP - 匿名函数
- PHP - 箭头函数
- PHP - 可变函数
- PHP - 局部变量
- PHP - 全局变量
- PHP 超全局变量
- PHP - 超全局变量
- PHP - $GLOBALS
- PHP - $_SERVER
- PHP - $_REQUEST
- PHP - $_POST
- PHP - $_GET
- PHP - $_FILES
- PHP - $_ENV
- PHP - $_COOKIE
- PHP - $_SESSION
- PHP 文件处理
- PHP - 文件处理
- PHP - 打开文件
- PHP - 读取文件
- PHP - 写入文件
- PHP - 文件是否存在
- PHP - 下载文件
- PHP - 复制文件
- PHP - 追加文件
- PHP - 删除文件
- PHP - 处理CSV文件
- PHP - 文件权限
- PHP - 创建目录
- PHP - 列出文件
- 面向对象的PHP
- PHP - 面向对象编程
- PHP - 类和对象
- PHP - 构造函数和析构函数
- PHP - 访问修饰符
- PHP - 继承
- PHP - 类常量
- PHP - 抽象类
- PHP - 接口
- PHP - 特性
- PHP - 静态方法
- PHP - 静态属性
- PHP - 命名空间
- PHP - 对象迭代
- PHP - 封装
- PHP - final 关键字
- PHP - 重载
- PHP - 克隆对象
- PHP - 匿名类
- PHP Web 开发
- PHP - Web 概念
- PHP - 表单处理
- PHP - 表单验证
- PHP - 表单邮件/URL
- PHP - 完整表单
- PHP - 文件包含
- PHP - GET & POST
- PHP - 文件上传
- PHP - Cookie
- PHP - Session
- PHP - Session 选项
- PHP - 发送邮件
- PHP - 输入过滤
- PHP - Post-Redirect-Get (PRG)
- PHP - Flash 消息
- PHP 高级
- PHP - MySQL
- PHP.INI 文件配置
- PHP - 数组解构
- PHP - 编码规范
- PHP - 正则表达式
- PHP - 错误处理
- PHP - Try...Catch
- PHP - Bug 调试
- PHP - 针对C开发者
- PHP - 针对Perl开发者
- PHP - 框架
- PHP - Core PHP vs 框架
- PHP - 设计模式
- PHP - 过滤器
- PHP - JSON
- PHP - 异常
- PHP - 特殊类型
- PHP - 散列
- PHP - 加密
- PHP - is_null() 函数
- PHP - 系统调用
- PHP - HTTP 认证
- PHP - 交换变量
- PHP - Closure::call()
- PHP - 过滤后的 unserialize()
- PHP - IntlChar
- PHP - CSPRNG
- PHP - 期望
- PHP - use 语句
- PHP - 整数除法
- PHP - 已弃用的特性
- PHP - 已移除的扩展和SAPI
- PHP - PEAR
- PHP - CSRF
- PHP - FastCGI 进程
- PHP - PDO 扩展
- PHP - 内置函数
- PHP 有用资源
- PHP - 速查表
- PHP - 问答
- PHP - 快速指南
- PHP - 在线编译器
- PHP - 有用资源
- PHP - 讨论
PHP - 日期与时间
PHP 的内置库包含大量函数,有助于以编程方式处理和操作日期和时间信息。PHP 中的日期和时间对象可以通过传递日期/时间信息的字符串表示来创建,也可以从当前系统的时钟创建。
PHP 提供 DateTime 类,该类定义了许多方法。在本章中,我们将详细了解 PHP 中提供的各种与日期和时间相关的可用方法。
PHP 中的日期/时间功能实现了 ISO 8601 日历,该日历实现了格里高利历之前现行的闰日规则。日期和时间信息在内部存储为 64 位数字。
使用 time() 获取时间戳
PHP 的 time() 函数提供有关当前日期和时间的所有必要信息。它不需要参数,但返回一个整数。
time(): int
time() 返回的整数表示自 1970 年 1 月 1 日格林威治标准时间午夜以来的秒数。此时刻称为 UNIX 纪元,自那时以来经过的秒数称为时间戳。
<?php print time(); ?>
它将产生以下输出:
1699421347
我们可以将时间戳转换为人类易于理解的形式。
使用 getdate() 转换时间戳
getdate() 函数可以选择性地接受时间戳,并返回一个包含日期信息的关联数组。如果省略时间戳,它将使用 time() 返回的当前时间戳。
下表列出了 getdate() 返回的数组中包含的元素。
序号 | 键和描述 | 示例 |
---|---|---|
1 | seconds 分钟后的秒数 (0-59) |
20 |
2 | minutes 小时后的分钟数 (0-59) |
29 |
3 | hours 一天中的小时数 (0-23) |
22 |
4 | mday 月份中的天数 (1-31) |
11 |
5 | wday 星期几 (0-6) |
4 |
6 | mon 一年中的月份 (1-12) |
7 |
7 | year 年份 (4 位数字) |
1997 |
8 | yday 一年中的天数 (0-365) |
19 |
9 | weekday 星期几 |
星期四 |
10 | month 一年中的月份 |
一月 |
11 | 0 时间戳 |
948370048 |
现在您可以完全控制日期和时间。您可以根据需要格式化此日期和时间。
示例
请看下面的示例:
<?php $date_array = getdate(); foreach ( $date_array as $key => $val ){ print "$key = $val\n"; } $formated_date = "Today's date: "; $formated_date .= $date_array['mday'] . "-"; $formated_date .= $date_array['mon'] . "-"; $formated_date .= $date_array['year']; print $formated_date; ?>
它将产生以下输出:
seconds = 0 minutes = 38 hours = 6 mday = 8 wday = 3 mon = 11 year = 2023 yday = 311 weekday = Wednesday month = November 0 = 1699421880 Today's date: 8-11-2023
使用 date() 转换时间戳
date() 函数返回表示日期的格式化字符串。您可以使用必须传递给它的字符串参数,对 date() 返回的格式进行大量的控制。
date(string $format, ?int $timestamp = null): string
date() 可选地接受时间戳,如果省略,则使用当前日期和时间。您在传递给 date() 的格式字符串中包含的任何其他数据都将包含在返回值中。
下表列出了格式字符串可以包含的代码:
序号 | 格式和描述 | 示例 |
---|---|---|
1 | a 'am' 或 'pm'(小写) |
pm |
2 | A 'AM' 或 'PM'(大写) |
PM |
3 | d 月份的天数,带前导零的数字 |
20 |
4 | D 星期几(三个字母) |
Thu |
5 | F 月份名称 |
一月 |
6 | h 小时(12 小时制 - 带前导零) |
12 |
7 | H 小时(24 小时制 - 带前导零) |
22 |
8 | g 小时(12 小时制 - 无前导零) |
12 |
9 | G 小时(24 小时制 - 无前导零) |
22 |
10 | i 分钟 (0-59) |
23 |
11 | j 月份的天数(无前导零) |
20 |
12 | l(小写 'L') 星期几 |
星期四 |
13 | L 闰年('1' 表示是,'0' 表示否) |
1 |
14 | m 一年中的月份(数字 - 带前导零) |
1 |
15 | M 一年中的月份(三个字母) |
Jan |
16 | r RFC 2822 格式的日期 |
Thu, 21 Dec 2000 16:01:07 +0200 |
17 | n 月份(数字 - 不带前导零) |
2 |
18 | s 小时的秒数 |
20 |
19 | U 时间戳 |
948372444 |
20 | y 年份(两位数) |
06 |
21 | Y 年份(四位数) |
2006 |
22 | z 一年中的第几天(0 - 365) |
206 |
23 | Z 与格林威治标准时间 (GMT) 的秒差 |
+5 |
示例
请看下面的示例:
<?php print date("m/d/y G.i:s \n", time()) . PHP_EOL; print "Today is "; print date("j of F Y, \a\\t g.i a", time()); ?>
它将产生以下输出:
11/08/23 11.23:08 Today is 8 2023f November 2023, at 11.23 am
希望您对如何根据您的需求格式化日期和时间有很好的理解。 作为参考,所有日期和时间函数的完整列表在 PHP 日期和时间函数 中给出。