PHP 提供了丰富的时间处理函数,用于获取、格式化和操作日期和时间。以下是一些常用的 PHP 时间函数及其用法整理:
1. 获取当前时间
time()
返回当前的 Unix 时间戳(从 1970-01-01 00:00:00 UTC 到现在的秒数)。
示例:
echo time(); // 输出类似:1698765432
microtime()
返回当前的 Unix 时间戳和微秒数。
示例:
echo microtime(true); // 输出类似:1698765432.123456
date()
格式化当前时间或指定时间戳。
语法:
string date(string $format, int $timestamp = time())
示例:
echo date("Y-m-d H:i:s"); // 输出类似:2023-10-31 14:30:00
2. 时间戳与日期转换
strtotime()
将任何英文文本的日期时间描述解析为 Unix 时间戳。
示例:
echo strtotime("2023-10-31 14:30:00"); // 输出:1698765000echo strtotime("+1 day"); // 输出明天的当前时间戳
mktime()
根据指定的日期和时间生成 Unix 时间戳。
语法:
int mktime(int $hour, int $minute, int $second, int $month, int $day, int $year)
示例:
echo mktime(14, 30, 0, 10, 31, 2023); // 输出:1698765000
date_create()
创建一个
DateTime
对象,用于更复杂的日期操作。示例:
$date = date_create("2023-10-31");echo date_format($date, "Y-m-d"); // 输出:2023-10-31
3. 日期格式化
date()
格式化日期时间。
常用格式字符:
Y
:四位年份(如 2023)m
:两位月份(如 10)d
:两位日期(如 31)H
:24 小时制的小时(如 14)i
:分钟(如 30)s
:秒(如 00)示例:
echo date("Y-m-d H:i:s"); // 输出:2023-10-31 14:30:00
DateTime::format()
使用
DateTime
对象格式化日期时间。示例:
$date = new DateTime("2023-10-31");echo $date->format("Y-m-d H:i:s"); // 输出:2023-10-31 00:00:00
4. 日期计算
strtotime()
支持相对时间计算。
示例:
echo date("Y-m-d", strtotime("+1 week")); // 输出一周后的日期echo date("Y-m-d", strtotime("last Monday")); // 输出上周一的日期
DateTime::modify()
修改
DateTime
对象的时间。示例:
$date = new DateTime("2023-10-31");$date->modify("+1 day");echo $date->format("Y-m-d"); // 输出:2023-11-01
date_diff()
计算两个日期之间的差值。
示例:
$date1 = date_create("2023-10-31");$date2 = date_create("2023-11-05");$diff = date_diff($date1, $date2);echo $diff->days; // 输出:5
5. 时区设置
date_default_timezone_set()
设置脚本中所有日期时间函数的默认时区。
示例:
date_default_timezone_set("Asia/Shanghai");echo date("Y-m-d H:i:s"); // 输出上海时区的当前时间
DateTimeZone
结合
DateTime
使用时区。示例:
$timezone = new DateTimeZone("America/New_York");$date = new DateTime("now", $timezone);echo $date->format("Y-m-d H:i:s"); // 输出纽约时区的当前时间
6. 其他常用函数
checkdate()
验证日期的有效性。
示例:
var_dump(checkdate(2, 29, 2023)); // 输出:false(2023 年不是闰年)
getdate()
返回当前日期时间的详细信息。
示例:
print_r(getdate());// 输出:// Array (// [seconds] => 0// [minutes] => 30// [hours] => 14// [mday] => 31// [wday] => 2// [mon] => 10// [year] => 2023// [yday] => 303// [weekday] => Tuesday// [month] => October// [0] => 1698765000// )
date_add()
/ date_sub()
对
DateTime
对象进行加减操作。示例:
$date = date_create("2023-10-31");date_add($date, date_interval_create_from_date_string("2 days"));echo date_format($date, "Y-m-d"); // 输出:2023-11-02
7. 国际化与本地化
strftime()
根据本地设置格式化日期时间(已弃用,建议使用
IntlDateFormatter
)。示例:
setlocale(LC_TIME, "zh_CN");echo strftime("%Y年%m月%d日"); // 输出:2023年10月31日
PHP
常用
时间
函数
资料
整理
希望以上内容对你有所帮助!如果还有其他问题,请随时提问。
各类知识收集 拥有多年CMS企业建站经验,对
iCMS,
LeCMS,
ClassCMS,
Fastadmin,
PbootCMS,
PHPCMS,
易优CMS,
YzmCMS,
讯睿CMS,
极致CMS,
Wordpress,
HkCMS,
YznCMS,
WellCMS,
ThinkCMF,
等各类cms的相互转化,程序开发,网站制作,bug修复,程序杀毒,插件定制都可以提供最佳解决方案。
未经允许不得转载:Str Tom工作室 » PHP 常用时间函数资料整理
希望以上内容对你有所帮助!如果还有其他问题,请随时提问。 各类知识收集 拥有多年CMS企业建站经验,对 iCMS, LeCMS, ClassCMS, Fastadmin, PbootCMS, PHPCMS, 易优CMS, YzmCMS, 讯睿CMS, 极致CMS, Wordpress, HkCMS, YznCMS, WellCMS, ThinkCMF, 等各类cms的相互转化,程序开发,网站制作,bug修复,程序杀毒,插件定制都可以提供最佳解决方案。