PHP建站技术分享-从入门到精通_各类知识收集PHP建站技术分享-从入门到精通_各类知识收集PHP建站技术分享-从入门到精通_各类知识收集

QQ:420220301 微信/手机:150-3210-7690
当前位置:首页 > 工作总结

PHP 常用时间函数资料整理

管理员 2025-03-11
工作总结
57

PHP 提供了丰富的时间处理函数,用于获取、格式化和操作日期和时间。以下是一些常用的 PHP 时间函数及其用法整理:


1. 获取当前时间

time()

  • 返回当前的 Unix 时间戳(从 1970-01-01 00:00:00 UTC 到现在的秒数)。

  • 示例:

    php
    复制
    echo time(); // 输出类似:1698765432

microtime()

  • 返回当前的 Unix 时间戳和微秒数。

  • 示例:

    php
    复制
    echo microtime(true); // 输出类似:1698765432.123456

date()

  • 格式化当前时间或指定时间戳。

  • 语法:

    php
    复制
    string date(string $format, int $timestamp = time())
  • 示例:

    php
    复制
    echo date("Y-m-d H:i:s"); // 输出类似:2023-10-31 14:30:00

2. 时间戳与日期转换

strtotime()

  • 将任何英文文本的日期时间描述解析为 Unix 时间戳。

  • 示例:

    php
    复制
    echo strtotime("2023-10-31 14:30:00"); // 输出:1698765000echo strtotime("+1 day"); // 输出明天的当前时间戳

mktime()

  • 根据指定的日期和时间生成 Unix 时间戳。

  • 语法:

    php
    复制
    int mktime(int $hour, int $minute, int $second, int $month, int $day, int $year)
  • 示例:

    php
    复制
    echo mktime(14, 30, 0, 10, 31, 2023); // 输出:1698765000

date_create()

  • 创建一个 DateTime 对象,用于更复杂的日期操作。

  • 示例:

    php
    复制
    $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)

  • 示例:

    php
    复制
    echo date("Y-m-d H:i:s"); // 输出:2023-10-31 14:30:00

DateTime::format()

  • 使用 DateTime 对象格式化日期时间。

  • 示例:

    php
    复制
    $date = new DateTime("2023-10-31");echo $date->format("Y-m-d H:i:s"); // 输出:2023-10-31 00:00:00

4. 日期计算

strtotime()

  • 支持相对时间计算。

  • 示例:

    php
    复制
    echo date("Y-m-d", strtotime("+1 week")); // 输出一周后的日期echo date("Y-m-d", strtotime("last Monday")); // 输出上周一的日期

DateTime::modify()

  • 修改 DateTime 对象的时间。

  • 示例:

    php
    复制
    $date = new DateTime("2023-10-31");$date->modify("+1 day");echo $date->format("Y-m-d"); // 输出:2023-11-01

date_diff()

  • 计算两个日期之间的差值。

  • 示例:

    php
    复制
    $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()

  • 设置脚本中所有日期时间函数的默认时区。

  • 示例:

    php
    复制
    date_default_timezone_set("Asia/Shanghai");echo date("Y-m-d H:i:s"); // 输出上海时区的当前时间

DateTimeZone

  • 结合 DateTime 使用时区。

  • 示例:

    php
    复制
    $timezone = new DateTimeZone("America/New_York");$date = new DateTime("now", $timezone);echo $date->format("Y-m-d H:i:s"); // 输出纽约时区的当前时间

6. 其他常用函数

checkdate()

  • 验证日期的有效性。

  • 示例:

    php
    复制
    var_dump(checkdate(2, 29, 2023)); // 输出:false(2023 年不是闰年)

getdate()

  • 返回当前日期时间的详细信息。

  • 示例:

    php
    复制
    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 对象进行加减操作。

  • 示例:

    php
    复制
    $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)。

  • 示例:

    php
    复制
    setlocale(LC_TIME, "zh_CN");echo strftime("%Y年%m月%d日"); // 输出:2023年10月31日

iCMS, LeCMS, ClassCMS, Fastadmin, PbootCMS, PHPCMS, 易优CMS, YzmCMS, 讯睿CMS, 极致CMS, Wordpress, HkCMS, YznCMS, WellCMS, ThinkCMF, 等各类cms的相互转化,程序开发,网站制作,bug修复,程序杀毒,插件定制都可以提供最佳解决方案。

相关推荐

扫码关注

qrcode

QQ交谈

回顶部