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

Yii2如何将字符串日期转换为int(11)类型时间戳?

Yii2 日期字符串转时间戳的实现方法

Yii2 确实支持将日期字符串转换为int类型的时间戳,同样可以借助内置的Formatter组件来完成,核心思路是先把日期字符串解析为DateTime对象,再通过对象方法获取时间戳。

基础用法示例

针对你提到的2022-12-21这种标准日期格式,直接用parseDate方法即可:

// 将日期字符串解析为DateTime对象
$dateObject = Yii::$app->formatter->parseDate('2022-12-21');
// 转换为int类型的时间戳
$timestamp = $dateObject->getTimestamp();

getTimestamp()返回的就是符合要求的int类型时间戳,长度会根据时间自动适配(目前主流时间戳是10位,未来会逐步到11位,方法会自动返回正确的数值类型)。

非标准日期格式的处理

如果你的日期字符串是类似December 21, 2022这种格式,需要在parseDate方法里指定对应格式:

$dateObject = Yii::$app->formatter->parseDate('December 21, 2022', 'MMMM d, yyyy');
$timestamp = $dateObject->getTimestamp();

这里的格式字符串遵循ICU的日期格式规则,和asDate方法里的格式参数是对应的。

补充说明

你也可以使用parseDateTime方法,它和parseDate的区别是会保留时间部分(如果日期字符串里包含的话),最终转换时间戳的逻辑是一样的:

$dateTimeObject = Yii::$app->formatter->parseDateTime('2022-12-21 14:21:25');
$timestamp = $dateTimeObject->getTimestamp();

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 11:31:11