naisi_timestamp_is_in_time_range

查看 Markdown

判断秒级时间戳是否落入闭区间 [begin_time, end_time],并满足端点指定的星期范围。

端点支持十进制 Unix 秒级时间戳字符串,或以单个空格分隔的“秒 分 时 日 月 星期 年”七字段。 七字段范围依次为 0~59、0~59、0~23、1~31、1~12、1~7、1900~2099;日期必须真实存在。 星期一为 1,星期日为 7;任一字段的 * 取调用时当前时间在指定时区下的对应值,而非目标时间字段。 任一端点使用七字段时还会校验目标星期;纯时间戳端点的星期边界取当前星期。 不支持 HH:MM:SS 简写、Cron 列表/步长,也不自动处理跨午夜或跨周的倒序范围。

函数签名

function naisi_timestamp_is_in_time_range(int $timestamp, string $begin_time, string $end_time, int $timezone = 1): bool

调用前提

应用入口先调用 naisi_is_ext_license_valid 并确认返回 true。只验证同一请求内已有的有效 FULL/BASIC 证明;没有证明或证明失效时立即返回失败值,不现场补做完整校验。

授权类别:LICENSE;执行模式:PROOF。许可不代替登录、租户或权限上下文;身份与数据要求见本页参数及用途说明。

参数

$timestamp

  • 类型:int
  • 必填:是
  • 默认值:无
  • 方向:输入参数。

需要格式化或判断的 Unix 时间戳。

$begin_time

  • 类型:string
  • 必填:是
  • 默认值:无
  • 方向:输入参数。

包含边界的起点,例如 '1704067200',或当天零点 '0 0 0 '。

$end_time

  • 类型:string
  • 必填:是
  • 默认值:无
  • 方向:输入参数。

包含边界的终点,例如 '1704153599',或当天结束 '59 59 23 '。

$timezone

  • 类型:int
  • 必填:否
  • 默认值:1
  • 方向:输入参数。

NAISI_TIMEZONE_* 整数常量;默认 NAISI_TIMEZONE_PRC(1,Asia/Shanghai),UTC 使用 NAISI_TIMEZONE_UTC(0)。不接收 IANA 名称字符串。

返回值

类型:bool

验证或条件判断成立时返回 true,否则返回 false。

关联常量

  • NAISI_TIMEZONE_UTC = 0 — NAISI_TIMEZONE_UTC 时区选择器。 供 naisi_get_utc_date() 选择对应地区的时区和夏令时规则。
  • NAISI_TIMEZONE_PRC = 1 — NAISI_TIMEZONE_PRC 时区选择器。 供 naisi_get_utc_date() 选择对应地区的时区和夏令时规则。

调用示例

当前请求须满足上方调用前提;请检查实际返回值和引用输出,随机结果及数据包内容以运行环境为准。

$timestamp = 1789178400;
$begin_time = '1789170000';
$end_time = '1789207200';
$timezone = 1;

$result = naisi_timestamp_is_in_time_range($timestamp, $begin_time, $end_time, $timezone);
var_export($result);

版本信息

  • 自版本:1.0.6
  • 实现模块:time
  • 授权类别:LICENSE / PROOF
  • 失败回退:false
  • 文档同步:2026-10-18