我正在尝试使用Carbon将分钟数转换为天数。
我想做如下的事情(当然,以下操作是不可行的):
我找不到这方面的例子,谢谢您的帮助。
$minutes = 1400;
我想做如下的事情(当然,以下操作是不可行的):
Carbon->minutes($minutes)->days();
我找不到这方面的例子,谢谢您的帮助。
$minutes = 1400;
Carbon->minutes($minutes)->days();
虽未经过测试,但快速查看文档表明它可能更适用于DateTime对象而非时间差,因此您可以这样做:
$now = Carbon::now();
$days = $now->diffInDays($now->copy()->addMinutes($minutes));
CarbonInterval::minutes($minutes)->cascade();
?这将会对你的数值进行级联处理,并为人类阅读格式化。如果你想把秒转换成Jira风格的1年 1月 1周 1小时 1分钟 1秒
:
class Translator implements TranslatorInterface, TranslatorBagInterface
{
protected const TRANS = [
'year' => 'y',
'month' => 'm',
'week' => 'w',
'day' => 'd',
'hour' => 'h',
'minute' => 'm',
'second' => 's',
];
public function trans(string $id, array $parameters = [], string $domain = null, string $locale = null)
{
return $parameters[':count'].self::TRANS[$id];
}
public function getCatalogue(string $locale = null)
{
return new \Symfony\Component\Translation\MessageCatalogue('pl_PL');
}
}
$second = 1;
$minute = 60 * $second;
$hours = 60 * $minute;
$day = 24 * $hours;
$week = 7 * $day;
$month = 4 * $week;
$year = 12 * $month;
$sum = $second + $minute + $hours + $day + $week + $month + $year;
$interval = CarbonInterval::seconds($sum)->cascade();
$interval->setLocalTranslator(new Translator());
echo $interval->forHumans(); // 1y 1m 1w 1h 1m 1s
use Carbon\CarbonInterval;
echo CarbonInterval::minutes(2212)->cascade()->forHumans();
//output = 1 day 12 hours 52 minutes