我在 PHP 中用 Carbon 创建了一些日期,但我似乎做错了什么。
这是我的代码:
$start = Carbon::create(2015, rand(6,7), rand(1,30), 0);
$end = $start->addWeeks(3);
echo "start time: " . $start;
echo "<br />";
echo "end time: " . $end;
Run Code Online (Sandbox Code Playgroud)
上面的输出是两个完全相同的日期,例如:
start time: 2015-07-01 00:00:00
end time: 2015-07-01 00:00:00
Run Code Online (Sandbox Code Playgroud)
我参考了文档,可以在这里找到:http : //carbon.nesbot.com/docs/#api-addsub。有谁知道我做错了什么?
我正在使用 laravel 和 carbon 包。我有两个日期。现在我想从我给定的日期获得日期差异。
$start_Date='2016-06-02 18:00:13';
$end_Date='2016-06-06 18:00:13';
$start = Carbon::parse($start_Date);
$end = Carbon::parse($end_Date);
$now = Carbon::now();
$length = $start->diffInDays($now);
$lengthFromEnd = $end->diffInDays($now);
Run Code Online (Sandbox Code Playgroud)
如果now() == 2016-06-07那么
$length 将是5 days和
$lengthFromEnd将是-1 days。
但我的代码返回异常结果
假设我们必须像这样使用 DateTime 格式化日期:
$started_at = '2016-07-05 12:29:16';
$ended_at = '2016-07-06 13:30:10';
Run Code Online (Sandbox Code Playgroud)
现在我想像这样计算它们的小时数、分钟数和秒数:
15 hours and 50 minutes and 15 seconds
Run Code Online (Sandbox Code Playgroud)
我如何在 laravel 和使用Carbon中以最简单的方式做到这一点。
我正在尝试转换一些日期
<p>{{ Carbon\Carbon::parse($post->created_at)->diffForHumans() }}</p>
Run Code Online (Sandbox Code Playgroud)
这工作正常,因为日期的格式为2017-05-01 10:52:51
但是,我也将日期存储为 unix 时间戳。
我怎样才能将这些转换为约会对象?
我已经试过了
{{ Carbon\Carbon::createFromTimestamp($post->created_at)->toDateTimeString() }}
Run Code Online (Sandbox Code Playgroud)
错误 - 遇到格式不正确的数值
转储是
<pre class="xdebug-var-dump" dir="ltr">
<small>int</small>
<font color="#4e9a06">1493637826</font>
</pre>
Run Code Online (Sandbox Code Playgroud) 我试图弄清楚如何缩短diffForHumanslaravel 中 Carbon 库提供的方法的输出。
默认格式diffForHumans是这样的:(从文件)
将过去的值与现在的默认值进行比较时:
5 个月前
1小时前
但我希望输出类似于:
我怎样才能做到这一点?
如果给定我有月份的数字,我想获得当月的第一个日期和最后一个日期。
例如一月 = 01,十月 = 10,十一月 = 11
所以如果我传递 10 作为参数,我应该得到 10 月的第一个和最后一个日期。
我尝试使用Carbon来实现它。但我给了我不同的结果。
这是代码。结果就在旁边。
$dt = Carbon::create(10);
echo $dt->startOfMonth(); // 0010-10-01 00:00:00
echo $dt->endOfMonth(); // 0010-10-31 00:00:00
Run Code Online (Sandbox Code Playgroud) 我有这样的集合
0 => array:4 [
"so" => "SO-1"
"product_name" => "EXTREME FORTE - BP"
"created_at" => Carbon @1527481346 {#628
date: 2018-05-28 04:22:26.0 UTC (+00:00)
}
"id" => "5b0b84027475aa1508002623"
]
Run Code Online (Sandbox Code Playgroud)
怎么走"2018-05-28"呢?有人可以帮我解决这个问题吗?不管怎么说,还是要谢谢你
我正在尝试在我的项目中实施评论部分,并希望显示评论发布的时间。
所以我做了:
{{ $comment->created_at->diffForHumans() }}
Run Code Online (Sandbox Code Playgroud)
输出是
3 hours from now
Run Code Online (Sandbox Code Playgroud)
但我想要的输出是
3 hours ago
Run Code Online (Sandbox Code Playgroud)
我错过了什么吗?我在 Laravel 中这样做
有没有办法自动转换模型的属性,其类型time与我们使用dateor 的方式相同datetime?
我知道 mutator,但我想知道它是否可以以更简洁的方式完成,比如使用$casts属性。
我读过几个关于 set locale 的 stackoverflows。我在终端中测试了 locale -a 以查看我的语言环境是否在那里,确实如此。在 appServiceProvider 中添加了以下代码规则:
public function boot()
{
Carbon::setLocale($this->app->getLocale());
}
Run Code Online (Sandbox Code Playgroud)
$this->app->getLocale() 返回“nl”
有人知道为什么 Carbon 仍然显示星期日而不是 Zondag 吗?
php ×10
php-carbon ×10
laravel ×7
date ×5
collections ×1
format ×1
laravel-4 ×1
laravel-5 ×1
laravel-5.4 ×1
mysql ×1