Как извлечь только значение 'Day' из полной строки 'Date'? - PullRequest
26 голосов
/ 25 ноября 2010

У меня есть массив значений Date в формате 'Y-m-d'.Я хочу перебрать массив и извлечь только день ('d') каждого члена, но не могу понять, как его разделить.Я использую подстроки каким-то образом?

Проще говоря, у меня есть '2010-11-24', и я хочу получить только '24' от этого.Проблема в том, что день может состоять из одной или двух цифр.

Ответы [ 7 ]

64 голосов
/ 25 ноября 2010

Если у вас PHP <5.3, используйте <a href="http://php.net/strtotime">strtotime():

$string = "2010-11-24";
$timestamp = strtotime($string);
echo date("d", $timestamp);

Если у вас PHP> = 5.3, используйте решение на основе DateTime с использованием createFromFormat - DateTime является будущим и может иметь дело с датами после 1900 и 2038 годов:

 $string = "2010-11-24";
 $date = DateTime::createFromFormat("Y-m-d", $string);
 echo $date->format("d");
5 голосов
/ 25 ноября 2010
$date = '2010-11-24';
list($y, $m, $d) = explode('-', $date);

Демо , документы на explode().

Или даже

$date = '2010-11-24';
$d = substr($date, strrpos($date, '-') + 1);

Демо , документы на substr() и strrpos().

Отказ от ответственности: оба старшеклассники!

0 голосов
/ 10 октября 2018

$ dt = "2008/02/23";

echo 'Day is'.date ("d", strtotime ($ dt));

0 голосов
/ 30 августа 2016

Попробуйте использовать date_parse_from_format, например ::

date_parse_from_format('Y-m-d', '2010-11-24')['day'];

Тестирование в оболочке:

$ php -r "echo date_parse_from_format('Y-m-d', '2010-11-24')['day'];"
24
0 голосов
/ 23 августа 2016
$string = "2010-11-24";
$date = new DateTime($string);
echo date_format($date, 'd');
0 голосов
/ 25 ноября 2010
<?php

$dates = array('2010-01-01', '2010-01-02', '2010-01-03', '2010-01-23');

foreach ($dates as $date) {
    $day[] = substr($date, 8, 2);
}

var_dump($day);

?>
0 голосов
/ 25 ноября 2010
php> $d = '2010-11-24';
'2010-11-24'
php> $fields = explode('-', $d);
array (
  0 => '2010',
  1 => '11',
  2 => '24',
)
php> $fields[2];
'24'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...