Если вы изначально получили строку из функции date (), то вместо этого передайте аргументы форматирования в функцию date:
Дата ( 'Y-м-д')
вместо преобразования строки еще раз.
РЕДАКТИРОВАТЬ: Если вам нужно отслеживать фактическую отметку времени, то сохраните ее как отметку времени:
// Store the timestamp in a variable. This is just an integer, unix timestamp (seconds since epoch)
$time = time();
// output ISO8601 (maybe insert to database? whatever)
echo date('Y-m-d H:i', $time);
// output your readable format
echo date('j-M-Y', $time);
Использование strtotime () удобно, но бесполезный разбор и хранение представления времени - глупая идея.