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

Simple CS


Let's learn about Compilers, what they are and how they work.


Adding an integration to a Slack room

How to add an integration to a Slack room. Part of our Slack mini series.