Правильное размещение фрагментов в PHP

0

У меня есть фрагмент кода WP/PHP, и ниже приведены следующие данные: 20150204

<?php echo  $datef=get_post_meta($post->ID, 'date_slot', true); ?>

Я хочу использовать разделение кусков и разделить дату с косой чертой: 2015/02/04

Пробовал несколько методов, но это не так просто, как обычное разделение кусков с нормальной строкой, как я хочу, чтобы она появилась, 4/2/2. Пока у меня это:

<?php $datef=get_post_meta($post->ID, 'date_slot', true); 
echo chunk_split($datef,4, '/') ?>

Что выводит это: 2015/0204/

Теги:

3 ответа

0
Лучший ответ
$date = DateTime::createFromFormat('Ymd', get_post_meta($post->ID, 'date_slot', true));
echo $date->format('Y/m/d');
0

Попробуйте вот так:

$dateValue = '20150204';
$time=strtotime($dateValue);
$year=date("Y",$time);
$month=date("m",$time);
$day=date("d",$time);
echo $year."/".$month."/".$day;  //Output : 2015/02/04
  • 0
    @ Оуэн О'Нил: это поможет тебе :)
0

chunk_split() кажется неправильным инструментом, поскольку он предназначен для разбиения строки на куски одного размера - но ваша дата имеет два разных размера (4, 2, 2).

Поскольку вы работаете с датами, логическое место для поиска - это функции даты. Класс DateTime (PHP 5. 3+) имеет метод createFromFormat(), который позволяет вам скрывать вашу строку даты в объект логической даты, с которым можно работать, включая форматирование с помощью метода format().

Ещё вопросы

Сообщество Overcoder
Наверх
Меню