public function isPublished( $now = null )
    {
        if ( ! $this->published )
        {
            return false;
        }

        if ( empty( $now ) )
        {
            $now = new DateTime();
        }
        else
        {
            $now = $this->inputDate( $now );
        }

        if ( ! empty( $this->publishedTo ) &&
             ! $this->publishedTo->diff( $now )->invert )
        {
            return false;
        }

        if ( ! empty( $this->publishedFrom ) &&
             $this->publishedFrom->diff( $now )->invert )
        {
            return false;
        }

        return true;
    }