从php中的日期时间获取年/月/日?

时间:2011-08-30 17:26:18

标签: php

我使用date('w', timestamp)date('w', timestamp)知道这一天,date('n', timestamp)几个月等等。

现在我正在使用日期时间,我想知道从日期时间获得一天,一个月等的等效函数。

PS:我知道我可以在SQL查询中使用UNIX_TIMESTAMP(),但我更喜欢在我的代码中避免使用时间戳。

3 个答案:

答案 0 :(得分:90)

DateTimeDateTime::format()

一起使用
$datetime = new DateTime($dateTimeString);
echo $datetime->format('w');

答案 1 :(得分:21)

查看手册:http://www.php.net/manual/en/datetime.format.php

<?php
$date = new DateTime('2000-01-01');
echo $date->format('Y-m-d H:i:s');
?>

将输出:2000-01-01 00:00:00

答案 2 :(得分:0)

如果你想使用php循环显示,试试下面的代码

<span>
  <select name="birth_month">
    <?php for( $m=1; $m<=12; ++$m ) { 
      $month_label = date('F', mktime(0, 0, 0, $m, 1));
    ?>
      <option value="<?php echo $month_label; ?>"><?php echo $month_label; ?></option>
    <?php } ?>
  </select> 
</span>
<span>
  <select name="birth_day">
    <?php 
      $start_date = 1;
      $end_date   = 31;
      for( $j=$start_date; $j<=$end_date; $j++ ) {
        echo '<option value='.$j.'>'.$j.'</option>';
      }
    ?>
  </select>
</span>
<span>
  <select name="birth_year">
    <?php 
      $year = date('Y');
      $min = $year - 60;
      $max = $year;
      for( $i=$max; $i>=$min; $i-- ) {
        echo '<option value='.$i.'>'.$i.'</option>';
      }
    ?>
  </select>
</span>