在页面php和仅显示年份之间传递日期

时间:2014-03-26 20:11:40

标签: php date

我一直在页面之间传递用户选择的日期并且没有任何问题地调用整个日期。现在我只想从" fromdate"并且" todate"我有以下代码来传递日期

<?
        $fromdatePost = $_POST["report_date_from"];
        $todatePost = $_POST["report_date_to"];

        $fromdate = $_POST["report_date_from"] .' 00:00:00';
        $fromdate = preg_replace('#(\d{2})/(\d{2})/(\d{4})\s(.*)#', '$3-$2-$1 $4', $fromdate);

        $todate = $_POST["report_date_to"] .' 00:00:00';
        $todate = preg_replace('#(\d{2})/(\d{2})/(\d{4})\s(.*)#', '$3-$2-$1 $4', $todate);  
        ?>

然后我使用以下任何一个显示日期

'" . $fromdate ."'

'" . $fromdate ."'

如何才能显示年份而不是整个日期?!

感谢您的帮助!

2 个答案:

答案 0 :(得分:1)

您可以使用以下代码获取年份:

$year = date('Y', strtotime($fromdate));

为了解释第一条评论,这里不需要正则表达式。

答案 1 :(得分:1)

面向对象的方法如下:

$date = new DateTime($fromdate);
$year = $date->format('Y');

虽然我一般觉得strtotime更方便一点。 注意:如果您没有将任何参数传递给DateTime()对象,它将填入当前日期&amp;时间。