标签: php-carbon

使用区域设置将字符串日期转换为碳时间戳

我有一个字符串格式的日期“Mon, 13 Feb 2017 09:30:00 GMT”。我正在尝试将其转换为 Carbon 时间戳,但我无法管理如何操作。我如何使用 GMT?正确的方法是什么?

$date = 'Mon, 13 Feb 2017 09:30:00 GMT';

Carbon::createFromFormat('D, d m Y H:i:s', $date)->toDateTimeString());
Run Code Online (Sandbox Code Playgroud)

php timestamp laravel php-carbon

4
推荐指数
1
解决办法
1万
查看次数

Laravel 5.3 - Carbon Date - UTC 偏移量获取时区名称

我正在尝试使用 Carbon 从 Laravel 5.3 中的 UTC 偏移量获取时区名称。下面列出的代码任何帮助将不胜感激。

/* current code iteration */
$utcOffset = -5;
$timezone = Carbon::now($utcOffset)->timezone->getName();
echo $timezone;
// Result: -05:00
// Expected Result: EST

/* tried code */
$timezone = Carbon::now($utcOffset)->tzName;
// Result: -05:00

/* What I used prior to Carbon */
$timezone = timezone_name_from_abbr(null, $utcOffset * 3600, TRUE);
$dateTime = new DateTime();
$dateTime->setTimeZone(new DateTimeZone($timezone));
$timezone = $dateTime->format('T');'
Run Code Online (Sandbox Code Playgroud)

我缺少什么?我感觉很傻..

php datetime laravel php-carbon

4
推荐指数
1
解决办法
2万
查看次数

Carbon 返回错误的日期错误

我正在Laravel 应用程序中使用 php Carbon包来操作我的日期。我在尝试生成日期(未来 x 天)时遇到一些奇怪的结果

请看一下这段代码:

$start_date = Carbon::tomorrow('Europe/London');
$end_date = $start_date->addDays($tier->duration_days);
Log::debug('Carbon::now(): '.Carbon::now());
Log::debug('Carbon::tomorrow(Europe/London): '.Carbon::tomorrow('Europe/London'));
Log::debug('$start_date: '.$start_date);
Log::debug('$end_date: '.$end_date);
Run Code Online (Sandbox Code Playgroud)

上面的代码将打印出以下调试行:

2017-04-17 21:46:31] local.DEBUG:Carbon::now():2017-04-17 21:46:31
[2017-04-17 21:46:31] local.DEBUG:Carbon: :明天(欧洲/伦敦):2017-04-18 00:00:00 [2017-04-17 21:46:31] local.DEBUG:$start_date:2017-05-16 00:00:00 [2017- 04-17 21:46:31] local.DEBUG: $end_date: 2017-05-16 00:00:00

使用 Carbon::tomorrow() 将打印出正确的日期,但是使用技术上使用相同函数的 $start_time 返回错误的日期。有人可以建议这里可能出了什么问题吗?

仅供参考,我已在文件中将欧洲/伦敦设置为时区config/app.php

php datetime date laravel php-carbon

4
推荐指数
1
解决办法
1429
查看次数

为什么 Carbon toDatetimeString 没有返回预期的格式?

从文档中我看到:

 echo $dt->toDateTimeString();                      // 1975-12-25 14:15:16
Run Code Online (Sandbox Code Playgroud)

但实际上,如果我转储我的执行,我会得到:

$now = Carbon::now()->toDayDateTimeString();
dump($now); //Mon, Oct 2, 2017 12:49 PM
Run Code Online (Sandbox Code Playgroud)

我需要 :

$now = Carbon::now()->format('Y-m-d H:i:s');
Run Code Online (Sandbox Code Playgroud)

为了得到 :

dump($now); //2017-10-02 12:49:06
Run Code Online (Sandbox Code Playgroud)

我缺少什么?

php php-carbon

4
推荐指数
1
解决办法
1万
查看次数

如何用碳从年/月/日计算年龄?

所以我有一个约会,可以这么说720402。格式为年(72)月(04)日(02)。我希望能够从这个带有碳的字符串中输出年龄。而Carbon有这个年龄函数

$howOldAmI = Carbon::createFromDate(1975, 5, 21)->age;但我无法将当前格式转换为正确的格式以供碳使用。

php php-carbon

4
推荐指数
1
解决办法
6646
查看次数

Carbon 将 Iso 8601 字符串解析为 UTC 日期并将其记录到 db

我有以下 Iso8601 日期时间字符串2018-03-12T10:34:15-0200,在我解析它之后

Carbon::parse("2018-03-21T10:34:15-0200", 'UTC')
Run Code Online (Sandbox Code Playgroud)

并将其保存到datetime我拥有的mysql db列中,2018-03-21 10:34:15因此我失去了-0200与 UTC 时区的小时差异。

任何想法如何以正确的方式解决它?

php mysql utc iso8601 php-carbon

4
推荐指数
1
解决办法
1万
查看次数

javascript 全文 Date() 格式与 PHP carbon

我正在从 javascript Date() 函数生成并发送完整的日期字符串,该函数返回完整的字符串日期格式,如下所示:

Sun Jan 01 2017 00:00:00 GMT+0100 (Central European Standard Time)
Run Code Online (Sandbox Code Playgroud)

Carbon 解析器不会接受这种格式来在服务器端创建相同的日期。这不起作用:

$date = Carbon::parse('Sun Jan 01 2017 00:00:00 GMT+0100 (Central European Standard Time)');
Run Code Online (Sandbox Code Playgroud)

错误 无法解析时间字符串(Sun Jan 01 2017 00:00:00 GMT+0100(中欧标准时间))在位置 41 (l):双时区规范

如果我删除(Central European Standard Time)作品:

$date = Carbon::parse('Sun Jan 01 2017 00:00:00 GMT+0100');
Run Code Online (Sandbox Code Playgroud)

然后它正确地创建日期。

JS 默认 Date() 可以以某种方式在 Carbon 中使用,还是我必须在将日期发送到 Carbon 之前格式化它?

javascript php date php-carbon

4
推荐指数
1
解决办法
2454
查看次数

Laravel Carbon 从当前日期获取下一次出现的特定日期

在 laravel 5.6 中使用 Carbon。

我想编写一个代码,为我提供当前日期中下一次出现的日期。

例如给出下一个 5 月 31 日的日期

场景 1:
输入:$currentDate = '01-30-2019'; // MM-DD-YYYY 格式
预期输出:$next31May = '05-31-2019';

场景 2:
输入:$currentDate = '07-04-2019'; // MM-DD-YYYY 格式
预期输出:$next31May = '05-31-2020';

更新:

我尝试了下面的代码但不满足

<?php
public function nextOccurance()
{
    $now = Carbon::now();
    $month= $now->month;
    $year = $now->year;
    if($month > 6)
    {
         echo Carbon::createMidnightDate($year+1, 5, 31);
    }
    else
    {
        echo Carbon::createMidnightDate(null, 5, 31);
    }
    exit();
}
?>
Run Code Online (Sandbox Code Playgroud)

先感谢您。

php datetime laravel php-carbon

4
推荐指数
1
解决办法
6585
查看次数

在 var/www/html/admin/vendor/nesbot/carbon/src/Carbon/Traits/Units.php 中遇到格式不正确的数值

我正在使用 Laravel 5.8。

我在文件/var/www/html/admin/vendor/nesbot/carbon/src/Carbon/Traits/Units.php中 遇到异常

       // @call addRealUnit
            case 'minute':
            $value *= static::SECONDS_PER_MINUTE;
            break;
Run Code Online (Sandbox Code Playgroud)

我正在使用 AWS 服务器。

我正在尝试运行,composer update但出现此错误:

[Composer\Downloader\TransportException]无法下载
https://repo.packagist.org/packages.json ”文件:无法打开
流:连接超时

php composer-php php-carbon server laravel-5.8

4
推荐指数
1
解决办法
938
查看次数

碳场所不被尊重?

在我的 Laravel 6 应用程序中,我已按预期Carbon::now()->locale()返回。it

作为已加载语言环境的确认,Carbon::now()->monthName正确输出febbraio.

但是Carbon::now()->format('F')两者Carbon::now()->formatLocalized('%B')都返回英文版本February

为什么第一个函数输出正确的本地化月份,而其他函数则不输出?

php locale laravel php-carbon

4
推荐指数
1
解决办法
1318
查看次数