# PHP Convert Date Format with date() and strtotime()

> Reformat date strings in PHP by converting them to Unix time with strtotime() and formatting the output with date() using custom format parameters

**URL:** https://sentry.io/answers/convert-a-date-format-in-php/

---

## The Problem

Say you have a date in a format that starts with a four-digit year, but you need the date to start with a two-digit day. How can you convert the date format in PHP?

## The Solution

The quickest way to convert a date to a different format in PHP is to use the `date()` and `strtotime()` functions. The `date()` function takes in the new date format and the old date in Unix time as parameters.

In this example, we want our new date to begin with the day instead of the year:

```php
$originalDate = "2023-05-31";

// Unix time = 1685491200
$unixTime = strtotime($originalDate);

// Pass the new date format as a string and the original date in Unix time
$newDate = date("d-m-Y", $unixTime);
echo $newDate;
```

[Unix time](https://en.wikipedia.org/wiki/Unix_time) represents a date as the number of seconds since midnight (UTC) on 1 January 1970, or 1685491200 seconds in our example.

The code sample above gives us the date in the desired format:

```
31-05-2023
```

However, note that the time of our new date is midnight. If we add a time format to the date, like this:

```php
$newDate = date("d-m-Y H:i:s", $unixTime);
```

We get the output:

```
31-05-2023 00:00:00
```

---

*Source: [sentry.io/answers/convert-a-date-format-in-php/](https://sentry.io/answers/convert-a-date-format-in-php/)*
