Изменить DateTimeImmutable с входным значением - PullRequest
0 голосов
/ 24 октября 2019

Мне нужно изменить «+1 месяц» с помощью входного значения из формы.

Теперь у меня это так:

public function buy($userId, ProductForm $form): void
    {

        $user = $this->users->get($userId);
        $product = $this->products->get($form->productId);

        $user->addOrder(
            $now->format('Y-m-d H:i:s'),
            $now->modify('+1 month')->format('Y-m-d H:i:s')
        );

        $this->users->save($user);
    }

    In ProductForm 

      public function periodList(): array
    {
        return [
            '+1 month' => '1 Month',
            '+2 month' => '2 Month',
            '+3 month' => '3 Month',
        ];
    }

Я пытался получить дату$ сейчас + значение формы, которое может составлять от 1 до 3 месяцев.

Спасибо за любую помощь.

1 Ответ

0 голосов
/ 24 октября 2019

Вы пробовали это:

$now = new \DateTimeImmutable();

$formattedPlusAMonth = $now->modify('+1 month')->format('Y-m-d H:i:s')

Вы должны прочитать о DateTimeImmutable классе. Он никогда не изменяет источник (именно поэтому он называется неизменным). Вам нужно будет захватить то, что он возвращает, в новой переменной.

https://www.php.net/manual/en/class.datetimeimmutable.php

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...