Jump to content

php 'time()' outputs as Jannuary 1 1970


Russia

Recommended Posts

Hey guys, I am having a bit of trouble, I am using the function time() to insert the time the form was submitted to the database.

 

It inserts the data like this:  1301407145

 

I have a date column.

 

I am then trying to echo the date the person submitted the form from the database using:

 

<?php echo date('d-M-Y h:i A', $date); ?>

 

the $date gets used with the mysql fetch array and for some reason it outputs it as: 01-Jan-1970 01:00 AM

 

Can someone explain to me why?

 

I am using this to insert into the db.

 

$date = time();

and then the $date goes into the statement.

mysql_query("INSERT INTO messages 
(reciever, sender, subject, message, date) 
VALUES
('$reciever', '$user', '$subject', '$message','$date')") or die (mysql_error());

 

Why isnt it working?

 

 

Link to comment
https://forums.phpfreaks.com/topic/232097-php-time-outputs-as-jannuary-1-1970/
Share on other sites

time() returns the integer timestamp you show, however the MySQL date is probably YYYY-MM-DD.  So when you try and store that integer it is invalid and defaults to 1970-01-01 or it defaults to 0000-00-00 and when you use date() on that it returns 01-Jan-1970 01:00 AM (most likely).

Why don't you just use the MySQL function NOW()?

 

<?php
mysql_query("INSERT INTO messages 
(reciever, sender, subject, message, date) 
VALUES
('$reciever', '$user', '$subject', '$message',NOW())") or die (mysql_error());
?>

 

Ken

Archived

This topic is now archived and is closed to further replies.

×
×
  • 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.