如何将时间戳转换为人类可读格式(1个月前)

时间:2017-04-04 04:55:04

标签: php timestamp yii2-advanced-app laravel-5.4

我在Yii2高级应用程序项目中使用Carbon Api扩展

我的代码如下所示。

date_default_timezone_set('Asia/Kolkata');
$time=time();
$y = date("Y",$time); //Year eg.2017
$n = date("n",$time); //Month eg.4
$j = date("j",$time); //Day eg.4
$h = date("G",$time); //Hour eg.10 (24 Hour format)
$i = date("i",$time); //Minute eg.15
$s = date("s",$time); //Socond eg.27
$carbon_time = Carbon::create($y,$n,$j,$h,$i,$s);
$parsed_time=Carbon::parse($carbon_time);
echo $parsed_time->diffForHumans(); //Carbon Api object

如何缩短以上代码..?

$ carbon_time和$ parsed_time将输出类似 - > 2017-04-04 10:15:27

我希望将此作为输出 - > “1秒前”

1 个答案:

答案 0 :(得分:1)

Carbon只是\ DateTime对象的扩展,所以你可以这样做。

$dateTime = new Carbon('-1 month', new \DateTimeZone('Asia/Kolkata'));
echo $dateTime->diffForHumans();

如果您有时间戳,则可以执行此操作

$dateTime = Carbon::createFromTimestamp(
    $myTimestamp,
    new \DateTimeZone('Asia/Kolkata')
);
echo $dateTime->diffForHumans();