PHP idate()函数

idate() 函数将本地时间/日期格式化为整数。与 date() 函数不同,idate() 只接受一个格式字符,并返回一个整数。

语法

idate(format, timestamp)

参数说明

参数 描述
format

必需。 规定如何返回结果:

  • B - Swatch Beat/Internet 时间(000 到 999)
  • d - 月份中的第几天(1 到 31)
  • h - 小时(12 小时制,1 到 12)
  • H - 小时(24 小时制,0 到 23)
  • i - 分钟(0 到 59)
  • I - 如果启用夏令时则返回 1,否则返回 0
  • L - 如果是闰年则返回 1,否则返回 0
  • m - 月份(1 到 12)
  • s - 秒数(0 到 59)
  • t - 指定月份的天数(28 到 31)
  • U - 自 Unix 纪元(January 1 1970 00:00:00 GMT)以来的秒数
  • w - 星期中的第几天(0 表示星期日)
  • W - ISO-8601 年份中的第几周,每周从星期一开始
  • y - 年份(两位数,例如 99 或 03)
  • Y - 年份(四位数,例如 1999 或 2003)
  • z - 年份中的第几天(0 到 365)
  • Z - 时区偏移的秒数(-43200 到 43200)
timestamp

可选。 规定 Unix 时间戳。默认是当前本地时间(time())。

返回值

返回根据指定格式 format 格式化的整数。

示例

示例 1:获取当前年份

<?php
echo idate("Y"); // 输出:2023(当前年份)
?>

示例 2:获取当前月份

<?php
echo idate("m"); // 输出:8(如果当前是8月)
?>

示例 3:获取当前是星期几

<?php
$day = idate("w");
echo "今天是星期" . $day; // 输出:今天是星期2(如果是星期二)
?>

示例 4:指定时间戳获取日期信息

<?php
$timestamp = strtotime("2023-12-25");
echo idate("d", $timestamp); // 输出:25(12月的第25天)
echo idate("m", $timestamp); // 输出:12(12月)
echo idate("Y", $timestamp); // 输出:2023
?>

示例 5:检查是否为闰年

<?php
$year = 2024;
$timestamp = strtotime($year . "-01-01");
if (idate("L", $timestamp)) {
    echo $year . "年是闰年";
} else {
    echo $year . "年不是闰年";
}
// 输出:2024年是闰年
?>

注意事项

  • idate() 函数每次调用只能接受一个格式字符
  • 与 date() 函数不同,idate() 返回的是整数而不是字符串
  • 对于 "B" 格式(Swatch Internet 时间),idate() 是唯一可用的函数
  • 时区设置会影响 idate() 的输出结果

与 date() 函数的区别

特性 idate() date()
返回值类型 整数 字符串
格式参数数量 只能一个 可以多个
B 格式支持 支持 不支持
性能 稍快(返回简单整数) 稍慢(需要格式化字符串)