这个时区的东西是一个真正的噩梦.我将所有值都存储在我的数据库中.我想要做的是构建一个在本地时区返回DateTime字符串的函数.当我使用Laravel时,我想用Carbon来完成工作.我现在多次尝试过但都失败了.
$dateasstring= '2014-01-05 12:00:00' //retrieved from databse
这个日期是UTC.如何将其作为UTC解析为Carbon,然后告诉Carbon将时间更改为localtimezone?我错过了什么吗?
我在我的一个脚本中运行了以下代码并且运行良好,但感觉相当笨重而且很长.我觉得可能有更短的方法来实现相同的结果.我的意思是不使用速记if语句.
我需要知道今天是星期四,如果不是使用前一个星期四作为日期.任何想法/想法都会很棒.
<?php
if (new Carbon('this thursday') > new Carbon()) {
$date = Carbon('this thursday');
} else {
$date = Carbon('last thursday');
}
?>
Run Code Online (Sandbox Code Playgroud) 根据手册:http : //carbon.nesbot.com/docs/#api-humandiff
得到一个 ago
将过去的值与现在的默认值进行比较时
但是无论我做什么,我都无法 ago
return $datetime->diffForHumans(Carbon::now())
结果到before,而
return Carbon::now()->diffForHumans($datetime);
结果after,
但是正如您可以清楚地看到,我上面的两个代码段都比较了past($ datetime)和现在的默认值(Carbon :: now()),所以我不明白为什么我找不到以前?希望有人能帮忙。我只需要回声ago。谢谢!
如何在Laravel 5.2中使用Carbon而不use Carbon\Carbon;在每个视图和控制器中添加..?
我正在使用此功能来获取两个日期之间的所有星期五:
public function getFridaysInRange($dateFromString, $dateToString)
{
$dateFrom = new \DateTime($dateFromString);
$dateTo = new \DateTime($dateToString);
$dates = [];
if ($dateFrom > $dateTo) {
return $dates;
}
if (1 != $dateFrom->format('N')) {
$dateFrom->modify('next friday');
}
while ($dateFrom <= $dateTo) {
$dates[] = $dateFrom->format('Y-m-d');
$dateFrom->modify('+1 week');
}
return $dates;
}
$this->getFridaysInRange('2017-01-01','2017-01-30');
Run Code Online (Sandbox Code Playgroud)
结果:
array:4 [?
0 => "2017-01-06"
1 => "2017-01-13"
2 => "2017-01-20"
3 => "2017-01-27"
]
Run Code Online (Sandbox Code Playgroud)
carbon上面有什么功能吗?
我正在使用Carbon来操作从MySQL数据库中检索的日期.我有以下日期:
2017-07-19 00:00:002017-06-26 15:27:57如您所见,第一个是一天的开始.当显示这样的日期时,我想省略时间部分.我知道我可以为每个使用不同的格式.例如:
F d Y 没有时间的日期.F d Y g:ia 与时间的日期.我无法完成的是一种简单的方法来检查日期是否有时间部分来应用一种格式或另一种格式.我必须使用个人吸气剂来检查小时,分钟和秒吗?
我有Carbon日期变量。
Carbon::parse("2018-08-01") //tuesday
Run Code Online (Sandbox Code Playgroud)
我想增加几天直到下一个monday ("2018-08-07")。
有没有像这样的命令
Carbon->addDaysUntil("monday"); ->addMonthUntil("september")
Run Code Online (Sandbox Code Playgroud)
等等。
所以我想将当前日期更改为下周,月份,年份的开始
所以目前我撤回日期并将其转换为碳中的可读格式:
</div>
<div class="">
<label for="Name">Letter Sent:</label>
@if (is_null($Client->letter_posted))
@else
{{ \carbon\carbon::createFromFormat('Y-m-d',$Client->letter_posted)->format('d/m/Y')}}
@endif
</div>
Run Code Online (Sandbox Code Playgroud)
并且它在测试时有效(在letter_posted为null时不进行测试)但是偶尔它会在实时服务器上吐出错误:
Class 'carbon\carbon' not found
Run Code Online (Sandbox Code Playgroud)
它在过去的2个月中只发生了3次非常随机,刷新页面将消除此错误,例如.出现错误,如果刷新页面则不再存在.
任何帮助赞赏.
我在这里找到任何问题和答案只有这个,但没有一个与碳有关.
有没有办法在碳中做到这一点:
$start = (new DateTime('2018-06-01'))->modify('first day of this month');
$end = (new DateTime('2019-06-01'))->modify('first day of next month');
$interval = DateInterval::createFromDateString('1 month');
$period = new DatePeriod($start, $interval, $end);
foreach ($period as $dt) {
echo $dt->format("Y-m") . "<br>\n";
}
Run Code Online (Sandbox Code Playgroud) 我使用的是Laravel 5.5,它的Carbon版本为1.27,没有类似的功能
roundMinute()
在Carbon版本2中添加.
我试图通过作曲家更新Carbon版本,但没有成功
如何在Laravel 5.5中使用Carbon的新版本
php-carbon ×10
php ×9
laravel ×5
laravel-5.5 ×2
datetime ×1
laravel-4 ×1
laravel-5.2 ×1
laravel-5.3 ×1