PHP Carbon 需要分钟数并转换为天数
PHP Carbon take number of minutes & convert to days
我正在尝试使用 Carbon 将分钟数转换为天数。
$minutes = 1400;
我想做如下的事情(这当然行不通):
Carbon->minutes($minutes)->days();
我找不到这样的例子。感谢您的帮助。
未测试,但快速浏览 the docs 表明它可能更多地针对 DateTime 对象而不是时间差异,因此您可以这样做:
$now = Carbon::now();
$days = $now->diffInDays($now->copy()->addMinutes($minutes));
也许CarbonInterval::minutes($minutes)->cascade();
?
将层叠您的值并为人类格式化。
如果要转换为年、月、周、日、时、分、秒、微秒
use Carbon\CarbonInterval;
echo CarbonInterval::minutes(2212)->cascade()->forHumans();
//output = 1 day 12 hours 52 minutes
如果你想将秒转换为Jira风格1y 1m 1w 1h 1m 1s
:
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
我正在尝试使用 Carbon 将分钟数转换为天数。
$minutes = 1400;
我想做如下的事情(这当然行不通):
Carbon->minutes($minutes)->days();
我找不到这样的例子。感谢您的帮助。
未测试,但快速浏览 the docs 表明它可能更多地针对 DateTime 对象而不是时间差异,因此您可以这样做:
$now = Carbon::now();
$days = $now->diffInDays($now->copy()->addMinutes($minutes));
也许CarbonInterval::minutes($minutes)->cascade();
?
将层叠您的值并为人类格式化。
如果要转换为年、月、周、日、时、分、秒、微秒
use Carbon\CarbonInterval;
echo CarbonInterval::minutes(2212)->cascade()->forHumans();
//output = 1 day 12 hours 52 minutes
如果你想将秒转换为Jira风格1y 1m 1w 1h 1m 1s
:
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