PHP获取当前时间戳有五种方法:一、time()函数返回秒级整型时间戳;二、strtotime("now")解析字符串为时间戳,性能略低;三、DateTime类getTimestamp()支持时区;四、gettimeofday()可得毫秒级时间戳;五、$_SERVER['REQUEST_TIME_FLOAT']提供请求开始的浮点型高精度时间戳。

如果您需要在PHP中获取当前时间戳,可以通过多种内置函数实现。以下是获取当前时间戳的详细方法:
一、使用 time() 函数
time() 是最常用且最直接的方式,它返回自 Unix 纪元(1970年1月1日 00:00:00 UTC)起经过的秒数,类型为整型。
1、在PHP脚本中直接调用 time() 函数。
2、将返回值赋给变量,例如:$timestamp = time();
立即学习“PHP免费学习笔记(深入)”;
3、可通过 echo $timestamp; 输出结果。
二、使用 strtotime() 函数
strtotime() 可将英文时间字符串解析为时间戳,当传入空字符串或 "now" 时,等效于获取当前时间戳。
1、调用 strtotime("now") 或 strtotime("")。
2、将结果赋值给变量,例如:$ts = strtotime("now");
3、注意该函数返回值为整型,但内部涉及字符串解析,性能略低于 time()。
三、使用 DateTime 类的 getTimestamp() 方法
DateTime 对象提供面向对象的时间处理方式,通过实例化当前时间并调用 getTimestamp() 可获取时间戳。
1、创建 DateTime 实例:$dt = new DateTime();
2、调用方法获取时间戳:$timestamp = $dt->getTimestamp();
3、该方式支持时区设置,如需指定时区可传入 DateTimeZone 对象。
四、使用 gettimeofday() 函数
gettimeofday() 返回包含秒和微秒的关联数组,适用于需要更高精度时间戳的场景,可手动组合为毫秒级时间戳。
1、调用 $tv = gettimeofday();
2、提取秒和微秒:$timestamp_ms = $tv['sec'] * 1000 + (int)($tv['usec'] / 1000);
3、注意返回值为毫秒级整数,与 time() 的秒级结果不同。
五、使用 $_SERVER['REQUEST_TIME_FLOAT'] 超全局变量
该变量在请求开始时由PHP自动设置,保存了带微秒精度的浮点型时间戳,适用于记录请求起始时刻。
1、直接访问 $_SERVER['REQUEST_TIME_FLOAT']。
2、若需转换为整型秒级时间戳,可使用 (int)floor($_SERVER['REQUEST_TIME_FLOAT'])。
3、注意该值在脚本生命周期内恒定,不随执行时间推移而更新。











