現在の日付、時刻、日をlaravelで取得する


116

laravelを使用して現在の日付、時刻、日を取得する必要があります

エコー $ldate = new DateTime('today');してみました$ldate = new DateTime('now');

ただし、常に1を返します。

Larvelで現在の日付、時刻、日を取得する方法


4
を使用しdate()ます。簡単なことを複雑にする必要はなく、不要なオーバーヘッドを追加します。
マルティンスBriedis

1
主な問題はあなたがやっているということですがecho $now = new DateTime();、代わりにecho(つまりdo $now = new DateTime();)なしで変数を設定し、それをエコーし​​たいときはformat()メソッド(docs)を使用する必要があると思います:echo $now->format('Y-m-d');
alexrussell

回答:


211

LaravelにはCarbon依存関係があります。

Carbon::now()Carbon\Carbon必要に応じて名前空間を含めます。

編集(使用法とドキュメント)

日付と時刻を取得して文字列として出力したいとします。

$mytime = Carbon\Carbon::now();
echo $mytime->toDateTimeString();

これはの通常の形式で出力Y-m-d H:i:sされます。多くの事前に作成された形式があり、Carbonを使用してPHPの日付時刻文字列を再度編集する必要はほとんどありません。

ドキュメント:https : //github.com/briannesbitt/Carbon

Carbonの文字列形式:http : //carbon.nesbot.com/docs/#api-formatting


4
Carbon \ Carbonを使用します。名前空間の宣言です
Kiren Siva

laravel 5で2016/2/20から曜日名を抽出する方法?? 返信してください
sabin maharjan 2016年

6
@AngularAngularAngularの使用Carbon::now()->format('d-m-Y')
EThaizone Jo

1
Carbonのドキュメントに追いつきます。誰もあなたのためにコードを書くことはありません。答えは、OPによって要求されたものを提供します。
Kratos 2017年

61

これを試して、

$ldate = date('Y-m-d H:i:s');

13
@チェンナイなぜ「laravel」の方法を実行する必要があるのですか?Laravelは、「PHPの道」です:)
マルティンスBriedis

3
完全にテストされたCarbonなどのクラスにアクセスできる場合、それらを利用すると常に役立ちます。必要以上のことを行う堅牢な実装がすでにあるのに、なぜ車輪を再発明するのですか?
Everon

3
@Everon組み込みのコア関数を使用しても、ホイールの再発明はありません。S:人々は常にovercomplicateものにしたい
マルティンスBriedis

3
あなたはちょうどグローバル設定で正しいタイムゾーンを設定します、そしてそれはそれです、カーボンが働くのと同じ方法です。それがより派手に見えるので、「ララベルの方法」で物事を行うのはばかげていますか?これはどのようにある\Carbon\Carbon::now()->format('d.m.Y');よりも良いですかdate('d.m.Y')
マルティンスBriedis

2
おかげで、date('Y-m-d H:i:s')とにかく傷つけませんよね?
AngularAngularAngular 2015年

51

Phpには非常にうまく機能する日付関数があります。laravelとブレードを使用すると、醜いエコータグなしでこれを使用でき<?phpます。たとえば、.blade.phpファイルで次のように使用します...

Copyright © {{ date('Y') }}

...そしてLaravel / bladeはそれを現在の年に変換します。日付と時刻が必要な場合は、次のようなものを使用します。

{{ date('Y-m-d H:i:s') }}

16

使いたい場合 datetime class

$dt = new DateTime();
echo $dt->format('Y-m-d H:i:s');

11

Laravel 5.5以降では、now()関数を使用して現在の日付と時刻を取得できます。

ブレードファイルでは、このように書いて日付を印字することができます。

{{  now()->toDateTimeString('Y-m-d') }}

ここに画像の説明を入力してください


これは実際には質問の答えにはなりませんが、私を助けてくれました:)
ルイス

6

これを行う別の方法を次に示します

Use \Carbon\Carbon;

$ date = Carbon :: now();

echo $ date-> toRfc850String();

出力はこのようになります

Saturday, 11-May-19 06:28:04 UTC


3

これを試すことができます。

use Carbon\Carbon;

$date = Carbon::now()->toDateTimeString();

3

いかがですか

    $date = Carbon::now();
    return $date->toArray();

あなたにあげます

{
  「年」:2019、
  「月」:1、
  「日」:27、
  "dayOfWeek":0、
  "dayOfYear":26、
  「時間」:10
  「分」:28、
  「秒」:55、
  "englishDayOfWeek": "日曜日"、
  「マイクロ」:967721、
  「タイムスタンプ」:1548570535、
  "フォーマット済み": "2019-01-27 10:28:55"、
  "タイムゾーン":{
    "timezone_type":3
    "タイムゾーン": "アジア/ドバイ"
  }
}

同じ小道具はを通じてアクセス可能です

    戻る[
             'date' => $ date-> format( 'Ym-d')、
              '年' => $ date-> year、
              '月' => $ date-> month、
              '日' => $ date-> day、
              '時間' => $ date-> hour、
              'isSaturday' => $ date-> isSaturday()、
          ];



1

ヘルパーが2人います。

ヘルパーnow() https://laravel.com/docs/7.x/helpers#method-now

ヘルパーnow()にはオプションの引数、タイムゾーンがあります。だからあなたは今使うことができます:

now();

または

now("Europe/Rome");

同じように、今日のヘルパー()https://laravel.com/docs/7.x/helpers#method-todayを使用できます。これはnow()の「同じこと」ですが、時間、分、秒はありません。

最後に、内部ではカーボンも使用しています。


0
//vanilla php
Class Date {
    public static function date_added($time){
         date_default_timezone_set('Africa/Lagos');//or choose your location
        return date('l F Y g:i:s ',$time);

    }


}

0

プロバイダーフォルダーでAppServicesProviderのタイムゾーンを設定できます

public function boot()
{
    Schema::defaultStringLength(191);
    date_default_timezone_set('Africa/Lagos');
}

そしてuse Import Carbon\Carbon 、単にuse Carbon::now()//現在の時刻を取得するには、それをフォーマットする必要がある場合は、プリファレンス基づいて他のオプションのドキュメントを確認してください。ここにリンクの説明を入力してください



-1

$ dayOfYear = today()-> dayOfYear; $ dayOfWeek = today( 'Europe / London')-> dayOfWeek;

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.