如何从完整的'Date'字符串中仅提取'Day'值?

时间:2010-11-25 09:43:38

标签: php date

我有一个Date值数组,格式为'Y-m-d'。我想循环遍历数组,只提取每个成员的日期('d'),但无法弄清楚它是如何拆分的。我是否以某种方式使用子串?

简单地说,我有'2010-11-24',我想从中获得'24'。当天的问题可能是单数或双数。

7 个答案:

答案 0 :(得分:64)

如果你有PHP< 5.3,使用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");

答案 1 :(得分:5)

$date = '2010-11-24';
list($y, $m, $d) = explode('-', $date);

Demoexplode()上的文档。

甚至

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

Demosubstr()strrpos()上的文档。

免责声明:两者都是oldschool!

答案 2 :(得分:0)

php> $d = '2010-11-24';
'2010-11-24'
php> $fields = explode('-', $d);
array (
  0 => '2010',
  1 => '11',
  2 => '24',
)
php> $fields[2];
'24'

答案 3 :(得分:0)

<?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);

?>

答案 4 :(得分:0)

qsex    age ranges  RuCitySize  FOM_quota
Женский 18-24   100-500 3.680865193
Женский 18-24   500-млн 1.764538469
Женский 18-24   Миллионники 2.295797363

答案 5 :(得分:0)

尝试使用date_parse_from_format,例如:

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

在shell中测试:

$ php -r "echo date_parse_from_format('Y-m-d', '2010-11-24')['day'];"
24

答案 6 :(得分:0)

$ dt =“ 2008/02/23”;

echo'Day is'。 date(“ d”,strtotime($ dt));