我有一个日历系统,因此活动有一个start
和一个end
日期。像任何日历一样,end
日期是可选的,也可以与start
日期相同,但时间不同。
因此,根据日期,有多种组合可以向人类显示(例如Google日历或Apple日历等):
Php-Carbon是否有内置方法可以做到这一点?我只找到格式化一个日期的方法,但未找到间隔/期间的方法。谢谢
答案 0 :(得分:1)
如果我正确理解了您的问题,则可以执行以下操作:
$period = CarbonPeriod::create($start, $end);
然后,您可以在这段时间内进行迭代,并随心所欲地做
。它是在Carbon 1.29中添加的
答案 1 :(得分:0)
请参考以下代码...
printf("Right now is %s", Carbon::now()->toDateTimeString());
printf("Right now in Vancouver is %s", Carbon::now('America/Vancouver')); // automatically converted to string
$tomorrow = Carbon::now()->addDay();
$lastWeek = Carbon::now()->subWeek();
// Carbon embed 824 languages:
echo $tomorrow->locale('fr')->isoFormat('dddd, MMMM Do YYYY, h:mm');
echo $tomorrow->locale('ar')->isoFormat('dddd, MMMM Do YYYY, h:mm');
$officialDate = Carbon::now()->toRfc2822String();
$howOldAmI = Carbon::createFromDate(1975, 5, 21)->age;
$noonTodayLondonTime = Carbon::createFromTime(12, 0, 0, 'Europe/London');
$internetWillBlowUpOn = Carbon::create(2038, 01, 19, 3, 14, 7, 'GMT');
if (Carbon::now()->isWeekend()) {
echo 'Party!';
}
echo Carbon::now()->subMinutes(2)->diffForHumans(); // '2 minutes ago'
答案 2 :(得分:0)
我理解这个问题,因此只需将差异格式化:
$start = new Carbon('1 jan 2019 08:12');
$end = new Carbon('today');
echo $start->diffForHumans($end);
//10 months before