Jump to content

Unix Timestamp Problem


gladiator83x

Recommended Posts

Hey All,

I tried asking this question yesterday, but the feedback that I received did not really answer my question. I just wanted to know if there was a way to take the difference between two Unix time stamps in php; with both of them in the form of: 2006-06-17 09:50:37?
Link to comment
Share on other sites

You can use MySQL's DATEDIFF function:

[!--quoteo--][div class=\'quotetop\']QUOTE[/div][div class=\'quotemain\'][!--quotec--]DATEDIFF(expr1,expr2)

DATEDIFF() returns expr1 – expr2 expressed as a value in days from one date to the other. expr1 and expr2 are date or date-and-time expressions. Only the date parts of the values are used in the calculation. [/quote]

[a href=\"http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html\" target=\"_blank\"]http://dev.mysql.com/doc/refman/5.0/en/dat...-functions.html[/a]

As for doing that with PHP, check the user notes here:
[a href=\"http://www.php.net/mktime\" target=\"_blank\"]http://www.php.net/mktime[/a]
Link to comment
Share on other sites

[!--quoteo(post=384976:date=Jun 17 2006, 10:33 AM:name=poirot)--][div class=\'quotetop\']QUOTE(poirot @ Jun 17 2006, 10:33 AM) [snapback]384976[/snapback][/div][div class=\'quotemain\'][!--quotec--]
You can use MySQL's DATEDIFF function:
[a href=\"http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html\" target=\"_blank\"]http://dev.mysql.com/doc/refman/5.0/en/dat...-functions.html[/a]

As for doing that with PHP, check the user notes here:
[a href=\"http://www.php.net/mktime\" target=\"_blank\"]http://www.php.net/mktime[/a]
[/quote]


I am having a problem using the DATEDIFF function. This is what I am typing in:

$diff= SELECT DATEDIFF($test_date,$creation_ts);
echo $diff;

This is the output that I receive:
SELECT DATEDIFF(2006-06-17 21:24:48,2004-08-09 11:01:24)

It doesn't subtract the dates. When I typed in the same thing minus the SELECT, it didnt recognize the DATEDIFF function.

$diff= DATEDIFF($test_date,$creation_ts);
echo $diff;


Anyone have any suggestions???
Link to comment
Share on other sites

You need to actually use MySQL, no use typing SQL commands into PHP variable if you're not going to query it. [code]$sql = mysql_query("
SELECT
DATEDIFF('$test_date', '$creation_ts')
");
$diff = mysql_result($sql, 0);[/code]
Link to comment
Share on other sites

[!--quoteo(post=385208:date=Jun 17 2006, 09:33 PM:name=robos99)--][div class=\'quotetop\']QUOTE(robos99 @ Jun 17 2006, 09:33 PM) [snapback]385208[/snapback][/div][div class=\'quotemain\'][!--quotec--]
Maybe I'm nitpicking here but isn't 2006-06-17 09:50:37 not a Unix timestamp? I may be wrong though.
[/quote]

I'm pretty sure that's a Unix timestamp, check the PHP documentation
Link to comment
Share on other sites

[!--quoteo(post=385208:date=Jun 17 2006, 10:33 PM:name=robos99)--][div class=\'quotetop\']QUOTE(robos99 @ Jun 17 2006, 10:33 PM) [snapback]385208[/snapback][/div][div class=\'quotemain\'][!--quotec--]
Maybe I'm nitpicking here but isn't 2006-06-17 09:50:37 not a Unix timestamp? I may be wrong though.
[/quote]


Hi Robos99,

I believe that it is definitely a Unix Timestamp. Check out the link:

[a href=\"http://en.wikipedia.org/wiki/Unix_epoch\" target=\"_blank\"]http://en.wikipedia.org/wiki/Unix_epoch[/a]

Link to comment
Share on other sites

[!--quoteo(post=385217:date=Jun 17 2006, 10:49 PM:name=gladiator83x)--][div class=\'quotetop\']QUOTE(gladiator83x @ Jun 17 2006, 10:49 PM) [snapback]385217[/snapback][/div][div class=\'quotemain\'][!--quotec--]
Hi Robos99,

I believe that it is definitely a Unix Timestamp. Check out the link:

[a href=\"http://en.wikipedia.org/wiki/Unix_epoch\" target=\"_blank\"]http://en.wikipedia.org/wiki/Unix_epoch[/a]
[/quote]


The code that Fyorl definitely looks correct, and I know that I am connecting to the database but I keep getting the following error:

Warning: mysql_result(): supplied argument is not a valid MySQL result resource in /export/home2/webpages/confirm.php on line 86

I changed it up a couple of times, and still nothing. Anybody else ever get this error message, and if so...what did you do to fix it?

Link to comment
Share on other sites

You are not picking it up guys... Usually, a UNIX timestamp is an integer representing the seconds since the UNIX epoch.

1150552200 = 06/17/2006 - 09:50

Now, MySQL doesn't need a UNIX timestamp to calculate DATEDIFF.
You are going to need MySQL >= 4.1 to use it though.
Link to comment
Share on other sites

[!--quoteo(post=385266:date=Jun 18 2006, 03:07 AM:name=jajtiii)--][div class=\'quotetop\']QUOTE(jajtiii @ Jun 18 2006, 03:07 AM) [snapback]385266[/snapback][/div][div class=\'quotemain\'][!--quotec--]
A Unix Timestamp is [b]always[/b] an integer. Month names, day names and the roman values of years have nothing to do with a Unix Timestamp.
[/quote]
Thanks for your remark jajtii. I didn't want to use a forceful word because my definition of "timestamp" leaves a gray area for interpretation, what I mean with "usually" is that 'Jun 18 2006, 03:07 AM' for example is a "Unix [compatible] timestamp" [img src=\"style_emoticons/[#EMO_DIR#]/wink.gif\" style=\"vertical-align:middle\" emoid=\":wink:\" border=\"0\" alt=\"wink.gif\" /]

If this is not correct, please tell me
Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.