You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP如何将datetime字符串转换为bigint数值及相关报错解决

PHP datetime字符串转拼接格式bigint报错解决方案

报错原因

date() 函数的第二个入参要求为 Unix时间戳(int类型),你直接传入字符串格式的日期变量$data,不符合参数类型要求,因此触发类型错误。

正确实现方案

有两种常用实现方式,推荐第二种指定格式的写法,兼容性更强:

方案1:搭配strtotime()转换

先用strtotime()将日期字符串转成Unix时间戳,再用date()一次格式化得到目标格式,不需要多次调用date()拼接:

// 示例 $data = "2021/05/20 11:46";
$timestamp = strtotime($data);
$ID = (int)date('YmdHi', $timestamp);

方案2:使用DateTime类(更稳定)

直接指定输入的日期格式解析,避免strtotime()对特殊格式的解析歧义:

// 示例 $data = "2021/05/20 11:46";
$dateObj = DateTime::createFromFormat('Y/m/d H:i', $data);
$ID = (int)$dateObj->format('YmdHi');

两种方案最终得到的$ID都是你需要的202105201146格式的整型数值,可直接作为bigint存入数据库。


内容的提问来源于stack exchange,提问作者Alvin Axel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 10:06:03