S M Abrar Jahin
S M Abrar Jahin

Reputation: 14578

How to get Current Timestamp from Carbon in Laravel 5

I want to get current timestamp in laravel 5 and I have done this-

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

I am getting eror- 'Carbon not found'-

enter image description here

What can I do?

Can anyone help, please?

Upvotes: 108

Views: 317180

Answers (8)

Valentin Rusk
Valentin Rusk

Reputation: 670

The most proper way to make timestamp of carbon is as following:

use Carbon\Carbon
$now = Carbon::now()->getTimestamp(); // timestamp (seconds)
$now = Carbon::now()->getTimestampMs(); // timestamp (milliseconds)

Works in Laravel 5, 6, 7, 8, 9 and 10 (latest at the moment of writing). Fluent, readable, you don't need to remember all formats of php date.

Upvotes: 4

Marcos Di Paolo
Marcos Di Paolo

Reputation: 639

With a \ before a Class declaration you are calling the root namespace:

$now = \Carbon\Carbon::now()->timestamp;

otherwise it looks for it at the current namespace declared at the beginning of the class. other solution is to use it:

use Carbon\Carbon
$now = Carbon::now()->timestamp;

you can even assign it an alias:

use Carbon\Carbon as Time;
$now = Time::now()->timestamp;

hope it helps.

Upvotes: 9

Md Rashedul Hoque Bhuiyan
Md Rashedul Hoque Bhuiyan

Reputation: 10631

You can try this if you want date time string:

use Carbon\Carbon;
$current_date_time = Carbon::now()->toDateTimeString(); // Produces something like "2019-03-11 12:25:00"

If you want timestamp, you can try:

use Carbon\Carbon;
$current_timestamp = Carbon::now()->timestamp; // Produces something like 1552296328

See the official Carbon documentation here.

Upvotes: 256

Tereh Sumasino
Tereh Sumasino

Reputation: 21

date_default_timezone_set('Australia/Melbourne');   
$time = date("Y-m-d H:i:s", time()); 

Upvotes: 1

Him Hah
Him Hah

Reputation: 1486

For Laravel 5.5 or above just use the built in helper

$timestamp = now();

If you want a unix timestamp, you can also try this:

$unix_timestamp = now()->timestamp;

Upvotes: 44

Sadee
Sadee

Reputation: 3170

Laravel 5.2 <= 5.5

    use Carbon\Carbon; // You need to import Carbon
    $current_time = Carbon::now()->toDayDateTimeString(); // Wed, May 17, 2017 10:42 PM
    $current_timestamp = Carbon::now()->timestamp; // Unix timestamp 1495062127

In addition, this is how to change datetime format for given date & time, in blade:

{{\Carbon\Carbon::parse($dateTime)->format('D, d M \'y, H:i')}}

Laravel 5.6 <

$current_timestamp = now()->timestamp;

Upvotes: 12

It may be a little late, but you could use the helper function time() to get the current timestamp. I tried this function and it did the job, no need for classes :).

You can find this in the official documentation at https://laravel.com/docs/5.0/templates

Regards.

Upvotes: 2

Jerodev
Jerodev

Reputation: 33186

You need to add another \ before your carbon class to start in the root namespace.

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

Also, make sure Carbon is loaded in your composer.json.

Upvotes: 12

Related Questions