Skip navigation.

How To Print MySQL Dates In mm/dd/yyyy And dd/mm/yyyy Formats

When choosing the MySQL field type to store dates, date is the preferred type. MySQL stores dates in the format yyyy-mm-dd which is seldom used to print dates on web pages. As a PHP developer you will eventually come across a need to convert the MySQL date format into dd-mm-yyyy or mm-dd-yyyy or another format. This post tells you how you can do that in your PHP programs.

Let us create a hypothetical situation to demonstrate the program.

Create the MySQL table.

CREATE TABLE dates (
  name varchar(30),
  birthday date
)

Insert sample data with dates.

INSERT INTO dates (
name ,
birthday
)
VALUES (
'Natasha', '1960-05-10'
), (
'Joshua', '1943-04-03'
), (
'Alex', '1971-02-09'
), (
'Laura', '1932-11-13'
), (
'Tina', '1991-08-12'
);

Let us write a PHP program to connect to the MySQL database, select Laura's birthday and print it in various formats.

<?php
mysql_connect
("localhost", "dbuser", "password");
mysql_select_db("db");


$query = "SELECT birthday FROM dates WHERE name='Laura'";
$result = mysql_query($query);
$row = mysql_fetch_object($result);

$luara_birthday = $row->birthday;
?>

At this point in our code, Laura's birthay is stored in the variable $luara_birthday. We will perform date format conversion operations on this variable.

Birthday as is.

<?php
echo "<br />Luara's birthday is on " . $luara_birthday;
?>

Create a PHP DateTime object.

<?php
$dateTime
= new DateTime($luara_birthday);
?>

PHP 5 onwards provides the date_format() function which is very useful to convert date formats. PHP's date() function accepts various characters to output date string. The date formats accepted date() can also be used with date_format().

<?php
//Convert birthday to dd-mm-yyyy
$luara_birthday = date_format($dateTime, "d-m-Y");
?>

The date() function understands the string "d-m-Y". Therefore date_format() also understands "d-m-Y".

<?php
echo "<br />After converting the date format to dd-mm-yyyy Luara's birthday looks like  " . $luara_birthday;
?>

Similarly we use the string "m-d-Y" to convert the date format to mm-dd-yyyy.

<?php
//Convert birthday to mm-dd-yyyy
$luara_birthday = date_format($dateTime, "m-d-Y");


echo
"<br />After converting the date format to mm-dd-yyyy Luara's birthday looks like  " . $luara_birthday;
?>

I often use these functions to convert date formats.

<?php
function convert_mysql_date_to_ddmmyyyy($date) {
        
$dateTime = new DateTime($date);
        
$date_converted=date_format ( $dateTime, "d-m-Y");
         return
$date_ind;
}


function
convert_mysql_date_to_mmddyyyy($date) {
        
$dateTime = new DateTime($date);
        
$date_converted=date_format ( $dateTime, "m-d-Y");
         return
$date_ind;
}
?>



Post new comment

The content of this field is kept private and will not be shown publicly.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.
  • Images can be added to this post.
  • You may post code using <code>...</code> (generic) or <?php ... ?> (highlighted PHP) tags.
  • Use the special tag [adsense:format:group:channel] or [adsense:block:location] to display Google AdSense ads.

More information about formatting options

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.