PHP - Turn UK Date into US Date

This is something I find myself needing to do quite frequently. You deal with UK dates as input and output of a system but somewhere in the middle they need to convert to US dates.

A quick way to shove a UK Date into a US format is to to an explode on the UK date by whichever separator it is using (normally '/', sometimes '-') then glue the bits back together with the second element swapped with the first (moving month and day around).

I have compiled this into a quick method:

/**
* A very simple function to change the date from the UK
* format to the American format.
*
* @param string $uk_date Assumed to be in the format day month year
* @param string $separator_input What divides the date up goung in.
* @param string $sepatator_output What divides the date up going out.
*
* @return string The date formatted to suit the US formatting.
*
* @author Toby Osbourn
*/

function makeUSDate($uk_date, $separator_input = '/', $sepatator_output = '/')
{
    list($day, $month, $year) = explode($separator_input, $uk_date);
    return $month.$sepatator_output.$day.$sepatator_output.$year;
}

This is also part of my Useful PHP Functions file on Github.

Recent posts View all

Hosting

Website Checklist before Launching

Top 20 things to consider before launching your website

Tech

Getting wireless printing working on Virgin Media Hub 3

A guide on how to get wireless printing working on Virgin Media if yours has suddenly stopped working.