j_s_stack
j_s_stack

Reputation: 665

Timestamp Difference and Output

In My SQL Database I have a Timestamp Column with values like this one representing the Date of the last edit:

2015-01-17 08:55:34.000000

I want to compare the Date with the current date and when is the same day I want to echo Today and otherwise I want to Display the Date of the last edit:

$timefromdb = '2015-01-17 08:55:34.000000'
$edit = strtotime($timefromdb);
if($edit > $_SERVER['REQUEST_TIME']){echo "Today";}
else{
    echo strftime("on %A, the %d %B %Y", $edit);
}
echo " at ".date('h:i',$edit)

It always Displays 01/01/1970. There must be a Problem with strtotime. I did a bit of research and it seems like my Timestamp Format isn't a valid one: http://php.net/manual/en/datetime.formats.php

Around the web are a lot of Questions about converting Timestamps but I just can't find the right one: I also got a bit confused by all the functions to convert date stuff.

So can someone Tell me how to get a valid Timestamp for using it in strftime and to compare it to the REQUEST_TIME.

Thanks in Advance!

UPDATE: As Always: The Problem sits in Front of the PC. I declared the Variable but never assgined the Timestamp to it :)

Upvotes: 0

Views: 68

Answers (2)

Kosmos
Kosmos

Reputation: 333

I'm not exactly understood you, but try 1. compare gettype( $edit ) and gettype($_SERVER['REQUEST_TIME']) 2. not sure what $timefromdb will be more then $_SERVER['REQUEST_TIME'], because IMHO when user edited data, time of it action will me less then current time.

Upvotes: 0

John Conde
John Conde

Reputation: 219804

Chop off the .000000 from the date as it makes the date a format strtotime() cannot work with. There's several ways to do this. A simple substr is one of them.

$timefromdb = substr('2015-01-17 08:55:34.000000', 0, -7);

Upvotes: 1

Related Questions