public function setOrderDate($orderDate = '')
    {
        if (strtotime($orderDate) === -1) {
            $this->orderDate = null;

            return false;
        }

        $dateFormatPattern = "^((((19|20)(([02468][048])|([13579][26]))-02-29))|((20[0-9][0-9])|(19[0-9][0-9]))-((((0[1-9])|(1[0-2]))-((0[1-9])|(1\d)|(2[0-8])))|((((0[13578])|(1[02]))-31)|(((0[1,3-9])|(1[0-2]))-(29|30)))))^";

        if (!preg_match($dateFormatPattern, $orderDate)) {
            $this->orderDate = null;

            return false;
        }

        if (strtotime($orderDate) > strtotime(date("Y-m-d H:i:s"))) {
            $this->orderDate = null;

            return false;
        }

        $this->orderDate = $orderDate;

        return true;
    }