naisi_timestamp_is_in_time_range
判断秒级时间戳是否落入闭区间 [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