Solved

MYSQL Datestamp - PHP

Posted on 2004-10-09
11
993 Views
Last Modified: 2013-12-12
Hi there,

I have a date stored in a 'datestamp' field like this

20040929101833

How can i pull that into my php page as a normal date and time, and as a date on its own (without the time)

For example, from a number like this 20040929101833

I need to get (these dates are just examples of the formats i need)

"13:08, 24th Aug 2004"
and "24 Aug 2004"

Many thanks
0
Comment
Question by:apcs-uk
  • 3
  • 2
  • 2
  • +2
11 Comments
 
LVL 12

Expert Comment

by:minichicken
ID: 12266687
0
 
LVL 49

Expert Comment

by:Roonaan
ID: 12266976
Possibly you could strtotime() function, but I am not sure if that one reads this type of date-representation.

I always thought Mysql used "2004-09-29" (date), "2004-09-29 10:18:33" (datetime) and the unix timestamp which count's the seconds from the unix day zero.

Is this a type you created yourself, or did I miss one?

Regards

-r-
0
 

Author Comment

by:apcs-uk
ID: 12267000
Roonaan, that was the default value inserted by MYSQL as NOW
0
Live: Real-Time Solutions, Start Here

Receive instant 1:1 support from technology experts, using our real-time conversation and whiteboard interface. Your first 5 minutes are always free.

 
LVL 49

Expert Comment

by:Roonaan
ID: 12267038
Depends, in which columntype you deposit. That's why I ment to ask; which type of column you used: date, datetime, timestamp or something else.

Regards

-r-
0
 
LVL 12

Expert Comment

by:minichicken
ID: 12267105
I tried to used timestamp with the strtotime(); and date(); it doesnt seem to work.

I would recommend the use of DATE and DATETIME column type... should be easier to work with...
0
 
LVL 48

Expert Comment

by:hernst42
ID: 12267299
You can use
Select UNIX_TIMESTAMP(column) as column from table
to get your dates so you can use it directly with the php-date function
0
 
LVL 49

Accepted Solution

by:
Roonaan earned 125 total points
ID: 12267432
What about
$time = '20040929101833';

$date = strtotime(ereg_replace('^([0-9]{4})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})$',"\\1-\\2-\\3 \\4:\\5:\\6", $time);

echo date('Ymd H:i:s', $date);

Regards -r-
0
 

Author Comment

by:apcs-uk
ID: 12274675
Roonaan, i will try your code example when i get home tonight.

Many thanks everyone!
0
 
LVL 10

Expert Comment

by:frugle
ID: 12275194
I use SQL to do the work, rather than obfuscated regex's...

SELECT *,DATE_FORMAT(datestamp_field,'%D, %M %Y') AS realdate FROM mytable;

- Seems quicker than having php do after-processing when returning a lot (10,000+) of rows.

I'm sure someone will have proper benchmarks to prove me wrong though...

Mike
0

Featured Post

Live: Real-Time Solutions, Start Here

Receive instant 1:1 support from technology experts, using our real-time conversation and whiteboard interface. Your first 5 minutes are always free.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Foreword (July, 2015) Since I first wrote this article, years ago, a great many more people have begun using the internet.  They are coming online from every part of the globe, learning, reading, shopping and spending money at an ever-increasing ra…
This article discusses how to create an extensible mechanism for linked drop downs.
The viewer will learn how to dynamically set the form action using jQuery.
This tutorial will teach you the core code needed to finalize the addition of a watermark to your image. The viewer will use a small PHP class to learn and create a watermark.

776 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question