Переформатируйте дату в PHP

У меня есть дата/строка времени как это: 180510_112440 в этом формате ddmmyy_hhmmss мне нужен отрывок для того, чтобы отформатировать строку как этот путь: 18.05.2010 11:24:40 спасибо за справку.

5
задан Kreker 19 May 2010 в 07:37
поделиться

3 ответа

Другой возможный ответ - это обычное использование strptime для анализа даты и функции mktime :

<?php

$orig_date = "180510_112440";

// Parse our date in order to retrieve in an array date's day, month, etc.
$parsed_date = strptime($orig_date, "%d%m%y_%H%M%S");

// Make a unix timestamp of this parsed date:
$nice_date = mktime($parsed_date['tm_hour'],
                    $parsed_date['tm_min'],
                    $parsed_date['tm_sec'],
                    $parsed_date['tm_mon'] + 1,
                    $parsed_date['tm_mday'],
                    $parsed_date['tm_year'] + 1900);

// Verify the conversion:
echo $orig_date . "\n";
echo date('d/m/y H:i:s', $nice_date);
2
ответ дан 15 December 2019 в 00:52
поделиться
$inDate = '180510_112440';
$date = strtotime('20'.substr($inDate,4,2).'-'.
        substr($inDate,2,2).'-'.
        substr($inDate,0,2).' '.
        substr($inDate,7,2).':'.
        substr($inDate,9,2).':'.
        substr($inDate,11,2));

echo date('d-M-Y H:i:s',$date);

Предполагается, что дата всегда будет в одном и том же формате, и всегда 21-го века

1
ответ дан 15 December 2019 в 00:52
поделиться
list($d,$m,$y,$h,$i,$s)=sscanf("180510_112440","%2c%2c%2c_%2c%2c%2c");
echo "20$y-$m-$d $h:$i:$s";
1
ответ дан 15 December 2019 в 00:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: