Previous Article

PHP Snippet to convert UK date to MySQL date

Next Article

This little bit of code is a great little time saver, while there are more specialised expressions that will check the different attributes of the date fall between specific numbers, this is simple and assumes the information has already been validated through checkdate or something client side.

$date = "23/06/1981";
$data = preg_replace("/(\d{2})[\/-](\d{2})[\/-](\d{4})/" , "\\3-\\2-\\1" , $data);
// $data would now be 1981-06-23

or as a function

function db_date($date) {
    $value = preg_replace("/(\d{2})[\/-](\d{2})[\/-](\d{4})/" , "\\3-\\2-\\1" , $data);
    return $value;

$data = db_date("23/06/1981");
// $data would be 1981-06-23


23/06/1981 returns 1981-06-23

Avatar of Clive Walkden

Clive Walkden

Latest Articles

Linux command line tools, installations etc


Terraform Installation

A quick installation guide for Terraform on Ubuntu 18.04

Bitcoin - Cryptocurrency not just for geeks


RollerCoin Intro

An introduction to the RollerCoin site and how you can use it to mine your own coins

Magento 2 Blog Posts

Magento 2

Magento 2.4.x Writing to a Log File

How to log to information to a file in different Magento 2.4.x versions