1. PHP获得当前时间戳
PHP中可以通过time()函数来获取当前的时间戳。时间戳是Unix时间,其表示从1970年1月1日00:00:00到现在的总秒数。
1.1 time()函数
time()函数可以直接调用,返回当前时间的时间戳:
$timestamp = time();
1.2 date()函数
date()函数可以将时间戳转换为可读性更强的格式。它接受两个参数,第一个参数是日期格式,第二个参数可选,用于指定时间戳。
echo date('Y-m-d H:i:s', $timestamp);
输出格式为:年-月-日 时:分:秒,如:2022-01-01 00:00:00。
2. PHP获得当日零点时间戳
2.1 strtotime()函数
为了获得当日零点时间戳,我们可以使用strtotime()函数将当前时间戳转换为当日零点所在的时间戳。
$zero_timestamp = strtotime(date('Y-m-d'), $timestamp);
函数strtotime()会将日期格式的字符串转换为时间戳,如果没有传入第二个参数,则默认使用当前时间戳。
这里传入date('Y-m-d'),则会返回当日00:00:00的时间戳。
2.2 floor()函数
但是,strtotime()返回的是浮点型时间戳,不是整型时间戳。为了得到整型时间戳,我们需要使用floor()函数向下取整。
$zero_timestamp = floor(strtotime(date('Y-m-d'), $timestamp) / 86400) * 86400;
这里将浮点型时间戳除以86400取整,并再乘以86400,即可得到当日零点的时间戳。
3. 示例代码
$timestamp = time(); // 当前时间戳
$zero_timestamp = floor(strtotime(date('Y-m-d'), $timestamp) / 86400) * 86400; // 当日零点时间戳
注:以上代码示例仅供参考,不代表最优解。