J'ai un tableau de valeurs de date dans le format de 'Y-m-d'
. Je veux parcourir le tableau et extraire uniquement le jour ('d'
) de chaque membre, mais je ne peux pas le scinder. Est-ce que j'utilise des sous-chaînes d'une certaine manière?
Dit simplement, j'ai '2010-11-24'
, et je veux juste en tirer '24'
. Le problème du jour pourrait être simple ou double.
Si vous avez PHP <5.3, utilisez strtotime()
:
$string = "2010-11-24";
$timestamp = strtotime($string);
echo date("d", $timestamp);
Si vous avez PHP> = 5.3, utilisez une solution basée sur DateTime
en utilisant createFromFormat - DateTime
est l’avenir et peut traiter des dates supérieures à 1900 et 2038:
$string = "2010-11-24";
$date = DateTime::createFromFormat("Y-m-d", $string);
echo $date->format("d");
$ dt = "2008/02/23";
echo "Le jour est". date ("d", strtotime ($ dt));
$string = "2010-11-24";
$date = new DateTime($string);
echo date_format($date, 'd');
Essayez d’utiliser date_parse_from_format
, par exemple:
date_parse_from_format('Y-m-d', '2010-11-24')['day'];
Test en shell:
$ php -r "echo date_parse_from_format('Y-m-d', '2010-11-24')['day'];"
24
php> $d = '2010-11-24';
'2010-11-24'
php> $fields = explode('-', $d);
array (
0 => '2010',
1 => '11',
2 => '24',
)
php> $fields[2];
'24'
<?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);
?>