Solved

Store date in mysql table as dd/mm/yyyy instead of yyyy-mm-dd

Posted on 2008-06-23
9
1,076 Views
Last Modified: 2013-12-12
Experts,

This is the first time i have ever worked with mysql/php, i have managed to store records in the DB including a date field. However, the only way the DB will accept the date is if it is of the format yyyy-mm-dd. I would like to store and retrieve in the format dd/mm/yyyy.

Please can someone advise how i change this on mySql DB. I currently access the DB via 'phpMyAdmin', yet cant seem to find how i would do this.

Regards
Easynow
0
Comment
Question by:Dean OBrien
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
9 Comments
 
LVL 36

Expert Comment

by:Loganathan Natarajan
ID: 21844658
you can use split() function to split and concatenate .., then store and retrieve it.,
0
 
LVL 28

Expert Comment

by:gamebits
ID: 21844663
This the way date field works in mysql you could use another type instead of date (VARCHAR or CHAR for example).

Another way is to use unix timestamp and use one of the php function to manipulate the data.

http://ca3.php.net/time
0
 
LVL 36

Expert Comment

by:Loganathan Natarajan
ID: 21844664
you cannot store in mysql db like dd/mm/yyyy .. but you can manipulate it whereever you want using split() in what ever the format
0
MS Dynamics Made Instantly Simpler

Make Your Microsoft Dynamics Investment Count  & Drastically Decrease Training Time by Providing Intuitive Step-By-Step WalkThru Tutorials.

 
LVL 36

Accepted Solution

by:
Loganathan Natarajan earned 75 total points
ID: 21844668
best thing, i would suggest to store as it "yyyy-mm-dd" then you split like ,
<?php
 
$date = "1973-05-20";
list($month, $day, $year) = split('[/.-]', $date);
 
echo "Month: $month; Day: $day; Year: $year<br />\n";
 
?> 

Open in new window

0
 
LVL 36

Expert Comment

by:Loganathan Natarajan
ID: 21844670


list($year, $month, $day) = split('[/.-]', $date);

Open in new window

0
 
LVL 143

Assisted Solution

by:Guy Hengel [angelIII / a3]
Guy Hengel [angelIII / a3] earned 25 total points
ID: 21844678
I confirm: the MySQL date is in format YYYY-MM-DD and you should NOT try to change that.
if you used a VARCHAR field instead, with format MM/DD/YYYY or DD/MM/YYYY, you WILL come back later crying when you try to sort by date and it won't ...

so, the DATE is just fine, and to reformat it for display you shall use the DATE_FORMAT() function in MySQL:
dev.mysql.com/doc/mysql/en/date-and-time-functions.html
0
 
LVL 12

Author Comment

by:Dean OBrien
ID: 21844697
Ok thanks for the rapid response. The solution you proposed seems ideal, i will try and implement it cheers.

Seems annoying that they cant have date types though.... seems i will have to mask the date when selecting it, change it to a different form to save it, then change again to display it upon retreival....


Thanks for the posts.
Easynow
0
 
LVL 9

Assisted Solution

by:Sander Stad
Sander Stad earned 25 total points
ID: 21845538
In the beginning I was confused how to get the dates right. I finally found a solution and that was the time() function to create a timestamp.

The easy thing is that you can create any date from it using the date() function. This website could probably help you: http://www.plus2net.com/php_tutorial/php_date_time.php
0
 
LVL 12

Author Closing Comment

by:Dean OBrien
ID: 31469668
Sorry for delayed closure, really appreciated the help. I have now completed what i was after.
0

Featured Post

Announcing the Most Valuable Experts of 2016

MVEs are more concerned with the satisfaction of those they help than with the considerable points they can earn. They are the types of people you feel privileged to call colleagues. Join us in honoring this amazing group of Experts.

Question has a verified solution.

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

Nothing in an HTTP request can be trusted, including HTTP headers and form data.  A form token is a tool that can be used to guard against request forgeries (CSRF).  This article shows an improved approach to form tokens, making it more difficult to…
Many old projects have bad code, but the budget doesn't exist to rewrite the codebase. You can update this code to be safer by introducing contemporary input validation, sanitation, and safer database queries.
Explain concepts important to validation of email addresses with regular expressions. Applies to most languages/tools that uses regular expressions. Consider email address RFCs: Look at HTML5 form input element (with type=email) regex pattern: T…
The viewer will learn how to create and use a small PHP class to apply a watermark to an image. This video shows the viewer the setup for the PHP watermark as well as important coding language. Continue to Part 2 to learn the core code used in creat…

733 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