5

I am trying to convert some dates

<p>{{ Carbon\Carbon::parse($post->created_at)->diffForHumans() }}</p> 

This works fine as the date is in the format 2017-05-01 10:52:51

However I also have the dates stored as unix timestamps.

How can I covert these to a date?

I already tried

{{ Carbon\Carbon::createFromTimestamp($post->created_at)->toDateTimeString() }} 

Error - A non well formed numeric value encountered

The dump is

 <pre class="xdebug-var-dump" dir="ltr"> <small>int</small> <font color="#4e9a06">1493637826</font> </pre> 
8
  • This is what I already tried Carbon\Carbon::createFromTimestamp($post->created_at)->toDateTimeString() }} Commented May 1, 2017 at 11:21
  • No joy with that? Commented May 1, 2017 at 11:22
  • Hi Robbie, no this is how I thought it would work and checked out the documentation before. It only seems to work with 1 or -1 as the argument. Commented May 1, 2017 at 11:26
  • Can you share some example data from the $post->created_at value? (var_export) Commented May 1, 2017 at 11:30
  • Added, it's an integer. Commented May 1, 2017 at 11:35

2 Answers 2

8

Your first attempt using createFromTimestamp() is correct, so there must be something wrong with your input. Here is a working example:

>>> \Carbon\Carbon::createFromTimestamp(1493637826)->toDateTimeString(); => "2017-05-01 11:23:46" 

The error you encountered suggests you're passing in a DateTime string, not a unix timestamp:

>>> \Carbon\Carbon::createFromTimestamp('2017-05-01 11:23:46')->toDateTimeString(); PHP Notice: A non well formed numeric value encountered 
Sign up to request clarification or add additional context in comments.

Comments

1

In the end I had to use gmdate to convert the timestamp.

{{ Carbon\Carbon::parse(gmdate("Y-m-d\TH:i:s", $post->date_posted))->diffForHumans() }} 

It is strange because it should work the way Robbie Averill suggested.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.