用php、OOP方式创建显示日期函数

用php、OOP方式创建显示日期函数,php,Php,我开始学习PHP OOP,我有这个练习来创建一个显示日期的函数。 我想得出这个结果: $date=新的(“2014年1月14日”);//例如,此日期来自用户 echo $date -> displaDate ('YYYY-MM-JJ'); // Would result to 2014-01-14 echo $date -> day; //Would result to 14 echo $date -> dayOfWeek; //Would result to Thursday

我开始学习PHP OOP,我有这个练习来创建一个显示日期的函数。 我想得出这个结果: $date=新的(“2014年1月14日”);//例如,此日期来自用户

echo $date -> displaDate ('YYYY-MM-JJ'); // Would result to 2014-01-14
echo $date -> day; //Would result to 14
echo $date -> dayOfWeek; //Would result to Thursday
有人能给我解释一下如何开始制作这个函数吗?我知道函数有变量和方法


<?php

 $dt = new DateTime();
 echo $dt->format('j-n-Y');
 ?>

从5.2版开始,PHP有
DateTime
类来表示日期和时间

例如

$dateTime=newdatetime('NOW');
回声“;
打印(日期时间);
回声“;

如果你想自己实现它,你可以这样做:

<!DOCTYPE html>
<html>
<body>

<?php
$t=time();
echo($t . "<br>");
echo(date('Y-m-d',$t));
?>

</body>
</html>
很简单

class Date{

    private $dateString;    

    function __construct( $dateString )
    {
        $this->dateString = $dateString;    
    }


    // Method to display date in different formats.
    public function displayDate( $dateFormat )
    {
        list( $day, $month, $year ) = explode( '-', $this->dateString);

        switch($dateFormat)
        {

            case "YYYY-mm-dd" : $format = $year.'-'.$month.'-'.$day; break;
            case "mm-dd-YYYY" : $format = $month.'-'.$day.'-'.$year; break;
            default : $format = $year.'-'.$month.'-'.$day;
        }
        return $format;
    }

    //Method to get day 
    public function day()
    {
        $day = date('d', strtotime($this->dateString));
        return $day;
    }

    //Method to get the day of the week.
    public function dayofweek()
    {
        $weekday = date('l', strtotime($this->dateString));
        return $weekday;

    }
    //Method to get month in text.
    public function getmonth()
    {
        $month = date('F', strtotime($this->dateString));
        return $month;
    }
} 


?>


@Daniel Saad,谢谢你帮助我理解。以下是我问题的答案:

<?php 
//Initialisation
$date = new Date('14-01-2014');
$anotherdate = new Date('13-07-1979')

?>
    <h3>Instance 1</h3>
    <p>Date: <?php echo $date->displayDate('YYYY-mm-dd'); ?></p>
    <p>Day: <?php echo $date->day(); ?></p> 
    <p>Day of week: <?php echo $date->dayofweek(); ?></p>  
    <p>Month: <?php echo $date->getmonth(); ?></p> <br />
index.php


实例1
日期:

日期:

星期几:

月份:


结果: 实例1 日期:2014-01-14 日期:14 星期二 月份:1月


我希望这也能帮助那些刚刚开始理解OOP的人。

为什么不看看它和方法呢?你似乎还不清楚函数、类、对象和方法之间的区别。我建议你先学点理论。查找一些基本的OOP教程。@s3v3n我之所以问这个问题,是因为我正在学习理论,还检查了一些教程。为什么不简单地编写一个关于DateTime的包装器呢?这个类旨在包装PHP的日期、时间或DateTime功能之一。我以为他的意思是他需要把这个作为家庭作业来实施。你说得对,丹尼尔。谢谢请检查这种类型。
class Date{

    private $dateString;    

    function __construct( $dateString )
    {
        $this->dateString = $dateString;    
    }


    // Method to display date in different formats.
    public function displayDate( $dateFormat )
    {
        list( $day, $month, $year ) = explode( '-', $this->dateString);

        switch($dateFormat)
        {

            case "YYYY-mm-dd" : $format = $year.'-'.$month.'-'.$day; break;
            case "mm-dd-YYYY" : $format = $month.'-'.$day.'-'.$year; break;
            default : $format = $year.'-'.$month.'-'.$day;
        }
        return $format;
    }

    //Method to get day 
    public function day()
    {
        $day = date('d', strtotime($this->dateString));
        return $day;
    }

    //Method to get the day of the week.
    public function dayofweek()
    {
        $weekday = date('l', strtotime($this->dateString));
        return $weekday;

    }
    //Method to get month in text.
    public function getmonth()
    {
        $month = date('F', strtotime($this->dateString));
        return $month;
    }
} 


?>
<?php 
//Initialisation
$date = new Date('14-01-2014');
$anotherdate = new Date('13-07-1979')

?>
    <h3>Instance 1</h3>
    <p>Date: <?php echo $date->displayDate('YYYY-mm-dd'); ?></p>
    <p>Day: <?php echo $date->day(); ?></p> 
    <p>Day of week: <?php echo $date->dayofweek(); ?></p>  
    <p>Month: <?php echo $date->getmonth(); ?></p> <br />