php 获取13位时间戳和格式化

本文介绍了如何使用PHP的microtime()和sprintf()函数将10位时间戳转换为13位,通过日期函数date()格式化为'yyyyMMddHH:mm:ss',示例代码和结果展示清晰易懂。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

php函数time()获取的是10位时间戳,获取13位时间戳需要处理一下,代码如下:

list($t1, $t2) = explode(' ', microtime());
$str_time = sprintf('%u', (floatval($t1) + floatval($t2)) * 1000);

结果:1623120421985

格式化13位时间戳:

$day = date('Ymd H:i:s', $str_time/1000);

结果:20210608 10:47:01

PHP 中,获取当前时间戳的方法有以下几种常用方式: 1. **使用 `time()` 函数** `time()` 函数可以直接返回当前的 Unix 时间戳(以秒为单位)。这个方法非常直接且高效。 ```php $timestamp = time(); echo $timestamp; ``` 这将输出类似 `1719244800` 的结果,表示从 1970 年 1 月 1 日 00:00:00 UTC 到现在的秒数[^1]。 2. **使用 `strtotime()` 函数** `strtotime()` 函数可以将自然语言的时间描述转换为 Unix 时间戳。如果传入 `'now'` 参数,则会返回当前时间戳。 ```php $timestamp = strtotime('now'); echo $timestamp; ``` 上述代码同样会输出当前的 Unix 时间戳。 3. **结合 `date()` 函数与时间戳参数** 虽然 `date()` 函数主要用于格式化日期时间,但它也可以接受一个时间戳作为第二个参数。如果不提供该参数,则默认使用当前时间戳。 ```php $timestamp = strtotime('now'); // 获取当前时间戳 echo date('Y-m-d H:i:s', $timestamp); // 使用时间戳格式化输出当前时间 ``` 上述代码将输出类似 `2024-06-25 12:00:00` 的结果,表示当前的日期时间[^1]。 ### 获取特定时间段的时间戳 1. **获取当前月份的开始结束时间戳** 如果需要获取当前月份的第一天最后一天的时间戳,可以通过以下代码实现: ```php $thismonth = date('m'); // 获取当前月份 $thisyear = date('Y'); // 获取当前年份 $startDay = $thisyear . '-' . $thismonth . '-1'; // 构造当前月份的第一天 $endDay = $thisyear . '-' . $thismonth . '-' . date('t', strtotime($startDay)); // 构造当前月份的最后一天 $b_time = strtotime($startDay); // 当前月的月初时间戳 $e_time = strtotime($endDay) + 3600 * 24 - 1; // 当前月的月末时间戳(晚23:59:59) echo "当前月份的开始时间戳:" . $b_time . "\n"; echo "当前月份的结束时间戳:" . $e_time . "\n"; ``` 上述代码将分别输出当前月份的第一天最后一天的时间戳[^2]。 2. **获取当天的最大时间戳** 如果需要获取当天的最后一秒(即 23:59:59)的时间戳,可以通过以下代码实现: ```php $today = date('Y-m-d'); // 获取当前日期 $maxTimeToday = strtotime($today . ' 23:59:59'); // 构造当天的最后一秒 echo "当天的最大时间戳:" . $maxTimeToday . "\n"; ``` 上述代码将输出当天的最后一秒的时间戳[^3]。 通过以上方法,可以根据具体需求灵活地获取当前时间、特定时间段的时间戳以及格式化的日期时间信息。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值