查看: 74|回复: 0

[教程] php批量把数组中的日期时间转为时间戳的实现

[复制链接]

0

主题

0

回帖

0

积分

积极分子

金币
0
阅读权限
220
精华
0
威望
0
贡献
0
在线时间
0 小时
注册时间
2009-9-24
发表于 昨天 17:22 | 显示全部楼层 |阅读模式

在PHP中,如果你想要将数组中的日期元素批量转换为时间戳,你可以使用strtotime()函数。这个函数可以将任何英文文本日期时间描述解析为Unix时间戳。

以下是一个简单的示例,说明如何实现这一功能:

示例1:使用strtotime()

<?php
// 假设你有一个包含日期的数组
$dates = [
    "2023-04-01",
    "2023-04-02 14:30:00",
    "April 1, 2023"
];
 
// 创建一个空数组来存储时间戳
$timestamps = [];
 
// 遍历日期数组,使用strtotime()转换每个日期为时间戳
foreach ($dates as $date) {
    $timestamps[] = strtotime($date);
}
 
// 打印结果
print_r($timestamps);
?>

示例2:使用array_map()函数简化操作

如果你想要更简洁的方式,可以使用array_map()函数结合strtotime()来批量转换数组中的日期。

<?php
// 假设你有一个包含日期的数组
$dates = [
    "2023-04-01",
    "2023-04-02 14:30:00",
    "April 1, 2023"
];
 
// 使用array_map()和strtotime()批量转换日期为时间戳
$timestamps = array_map('strtotime', $dates);
 
// 打印结果
print_r($timestamps);
?>

注意事项:

  • strtotime()能够理解多种格式的日期和时间字符串,包括但不限于YYYY-MM-DDDD-MM-YYYYMM/DD/YYYY等。它还支持相对时间表达式,如+1 daynext Thursday等。

  • 如果日期格式不符合strtotime()的解析规则,它可能会返回false。你可以通过检查返回值是否为false来确保转换成功,例如:if ($timestamp === false) { /* handle error */ }

  • 使用array_map()可以使代码更加简洁和易于维护,特别是当处理大型数组时。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

相关侵权、举报、投诉及建议等,请发 E-mail:qiongdian@foxmail.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部