diff --git a/src/Actions/HowDaysToNYAction.php b/src/Actions/HowDaysToNYAction.php
new file mode 100644
index 0000000000000000000000000000000000000000..3c133ed921bc0eeaa7d38b13f083b3315a846786
--- /dev/null
+++ b/src/Actions/HowDaysToNYAction.php
@@ -0,0 +1,20 @@
+<?php
+
+namespace App\Actions;
+
+use DateTimeImmutable;
+
+class HowDaysToNYAction
+{
+    /**
+     * Функция рассчитывает кол-во дней до нового года
+     * @param DateTime $date дата от которой, необходимо рассчитать кол-во дней
+     * @return int
+     */
+    public function act(DateTimeImmutable $date): int
+    {
+        $dateOfNY = $date->modify('first day of Jan +1 year');
+
+        return (int) $dateOfNY->diff($date)->format('%a');
+    }
+}
\ No newline at end of file
diff --git a/src/Controller/HowDaysToNYController.php b/src/Controller/HowDaysToNYController.php
new file mode 100644
index 0000000000000000000000000000000000000000..8311dcef842015f0f0fcbafea037d03fd26f89be
--- /dev/null
+++ b/src/Controller/HowDaysToNYController.php
@@ -0,0 +1,25 @@
+<?php
+
+namespace App\Controller;
+
+use App\Actions\HowDaysToNYAction;
+use App\Requests\BeforeNYDateRequest;
+use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
+use Symfony\Component\HttpFoundation\JsonResponse;
+use Symfony\Component\HttpFoundation\Response;
+use Symfony\Component\Routing\Attribute\Route;
+
+class HowDaysToNYController extends AbstractController
+{
+    /**
+     * Контролер рассчитывает кол-во дней до нового года используюя howDaysToNy
+     * @param BeforeNYDateRequest $request
+     * @param HowDaysToNYAction $action
+     * @return Response
+     */
+    #[Route('/howdaystony', name: 'app_how_days_to_n_y')]
+    public function index(BeforeNYDateRequest $request, HowDaysToNYAction $action): Response
+    {
+        return new JsonResponse($action->act($request->serialise()));
+    }
+}
diff --git a/src/Requests/BeforeNYDateRequest.php b/src/Requests/BeforeNYDateRequest.php
new file mode 100644
index 0000000000000000000000000000000000000000..445bc20f34656a0551f6a13947206872e4db6aa6
--- /dev/null
+++ b/src/Requests/BeforeNYDateRequest.php
@@ -0,0 +1,19 @@
+<?php
+
+namespace App\Requests;
+
+use DateTimeImmutable;
+use Symfony\Component\Validator\Constraints\Date;
+use Symfony\Component\Validator\Constraints\Type;
+
+class BeforeNYDateRequest extends BaseRequest
+{
+    #[Date()]
+    #[Type('string')]
+    public $date;
+
+    public function serialise(): mixed
+    {
+        return new DateTimeImmutable($this->date);
+    }
+}