php获取和处理时间戳需掌握五类方法:一、time()获当前秒级时间戳;二、strtotime()转日期字符串为时间戳;三、microtime()获微秒级精度;四、date()/gmdate()格式化为本地/utc可读时间;五、datetime类面向对象操作,支持时区切换与链式调用。

如果您需要在PHP中获取当前时间戳,或者对时间戳进行格式化、转换等操作,则需掌握PHP内置的时间处理函数。以下是实现这些功能的具体步骤:
一、使用time()函数获取当前时间戳
time()函数是PHP中最直接获取当前Unix时间戳的方式,返回自1970年1月1日00:00:00 GMT起的秒数,结果为整型数值。
1、在PHP脚本中调用time()函数,不带任何参数。
2、将返回值赋给变量,例如 $timestamp = time();。
立即学习“PHP免费学习笔记(深入)”;
3、可通过echo或var_dump输出该变量验证结果,输出值为纯数字,单位为秒。
二、使用strtotime()函数将日期字符串转为时间戳
strtotime()可解析多种人类可读的日期/时间描述,并将其转换为对应的Unix时间戳,适用于动态时间计算场景。
1、传入合法日期字符串,如 "now"、"2024-05-20"、"+1 day" 或 "next Monday"。
2、函数返回对应的时间戳整数,若解析失败则返回false。
3、建议配合is_numeric()或 !== false 进行有效性判断,避免因非法字符串导致逻辑错误。
三、使用microtime()获取微秒级时间戳
microtime()提供更高精度的时间信息,常用于性能分析或需要毫秒/微秒级控制的业务逻辑,返回值包含秒和微秒两部分。
1、调用microtime(true)获取浮点型时间戳(单位为秒,含微秒小数)。
2、若需整数秒部分,可用 (int)floor(microtime(true)) 提取。
3、若需完整微秒值,调用microtime(false)并按空格分割字符串,注意第二个元素为微秒部分,需补零至6位再拼接。
四、使用date()与gmdate()将时间戳格式化为可读时间
date()函数依据本地时区将时间戳转为指定格式的字符串;gmdate()则强制使用GMT/UTC时区,两者参数结构一致但时区行为不同。
1、准备一个有效时间戳变量,如 $ts = 1716192000;。
2、调用date('Y-m-d H:i:s', $ts) 输出本地时区对应时间。
3、调用gmdate('Y-m-d\TH:i:s\Z', $ts) 输出ISO 8601标准UTC时间,末尾\Z表示UTC时区标识,不可省略反斜杠。
五、使用DateTime类面向对象方式处理时间戳
DateTime类提供更灵活、可链式调用的时间操作能力,支持时区切换、加减运算、格式化输出等多种方法,适合复杂时间逻辑。
1、实例化对象:$dt = new DateTime(); 表示当前本地时间。
2、若需基于特定时间戳构造,使用 $dt = DateTime::createFromFormat('U', $timestamp);。
3、调用->setTimezone(new DateTimeZone('UTC')) 切换时区,setTimezone()会直接影响后续format()输出结果。











