diff --git a/typo3/sysext/backend/Classes/Utility/BackendUtility.php b/typo3/sysext/backend/Classes/Utility/BackendUtility.php
index 6aaee65b5764f7d05e8723ee9098d400f9d76a36..1873c81bbb957346786f4e8ae0a73c213f94abd2 100644
--- a/typo3/sysext/backend/Classes/Utility/BackendUtility.php
+++ b/typo3/sysext/backend/Classes/Utility/BackendUtility.php
@@ -1688,7 +1688,7 @@ class BackendUtility
                 if ($format === 'date') {
                     // Handle native date field
                     if (($theColConf['dbType'] ?? '') === 'date') {
-                        $value = $value === $dateTimeFormats['date']['empty'] ? 0 : (int)strtotime($value);
+                        $value = $value === $dateTimeFormats['date']['empty'] ? 0 : (int)strtotime((string)$value);
                     } else {
                         $value = (int)$value;
                     }
@@ -1728,7 +1728,7 @@ class BackendUtility
                 } elseif ($format === 'datetime') {
                     // Handle native datetime field
                     if (($theColConf['dbType'] ?? '') === 'datetime') {
-                        $value = $value === $dateTimeFormats['datetime']['empty'] ? 0 : (int)strtotime($value);
+                        $value = $value === $dateTimeFormats['datetime']['empty'] ? 0 : (int)strtotime((string)$value);
                     } else {
                         $value = (int)$value;
                     }
diff --git a/typo3/sysext/backend/Tests/Unit/Utility/BackendUtilityTest.php b/typo3/sysext/backend/Tests/Unit/Utility/BackendUtilityTest.php
index 71370e92927d851aede3dc4af3cf30674b659638..0fa33f482773edaf81418fd82630445e712425b8 100644
--- a/typo3/sysext/backend/Tests/Unit/Utility/BackendUtilityTest.php
+++ b/typo3/sysext/backend/Tests/Unit/Utility/BackendUtilityTest.php
@@ -188,6 +188,105 @@ final class BackendUtilityTest extends UnitTestCase
         self::assertSame('', BackendUtility::getProcessedValue('tt_content', 'pi_flexform', null));
     }
 
+    /**
+     * @test
+     */
+    public function getProcessedValueForDatetimeDbTypeDateNull(): void
+    {
+        $GLOBALS['TCA'] = [
+            'tt_content' => [
+                'columns' => [
+                    'header' => [
+                        'config' => [
+                            'type' => 'datetime',
+                            'dbType' => 'date',
+                            'format' => 'date',
+                        ],
+                    ],
+                ],
+            ],
+        ];
+        $languageServiceMock = $this->createMock(LanguageService::class);
+        $languageServiceMock->method('sL')->willReturn('testLabel');
+        $GLOBALS['LANG'] = $languageServiceMock;
+        self::assertSame('', BackendUtility::getProcessedValue('tt_content', 'header', null));
+    }
+
+    /**
+     * @test
+     */
+    public function getProcessedValueForDatetimeDbTypeDatetime(): void
+    {
+        $GLOBALS['TCA'] = [
+            'tt_content' => [
+                'columns' => [
+                    'header' => [
+                        'config' => [
+                            'type' => 'datetime',
+                            'dbType' => 'datetime',
+                        ],
+                    ],
+                ],
+            ],
+        ];
+        $value = '2022-09-23 00:03:00';
+        $expected = BackendUtility::datetime((int)strtotime($value));
+        $languageServiceMock = $this->createMock(LanguageService::class);
+        $languageServiceMock->method('sL')->willReturn('testLabel');
+        $GLOBALS['LANG'] = $languageServiceMock;
+        self::assertSame($expected, BackendUtility::getProcessedValue('tt_content', 'header', $value));
+    }
+
+    /**
+     * @test
+     */
+    public function getProcessedValueForDatetimeDbTypeDatetimeNull(): void
+    {
+        $GLOBALS['TCA'] = [
+            'tt_content' => [
+                'columns' => [
+                    'header' => [
+                        'config' => [
+                            'type' => 'datetime',
+                            'dbType' => 'datetime',
+                        ],
+                    ],
+                ],
+            ],
+        ];
+        $languageServiceMock = $this->createMock(LanguageService::class);
+        $languageServiceMock->method('sL')->willReturn('testLabel');
+        $GLOBALS['LANG'] = $languageServiceMock;
+        self::assertSame('', BackendUtility::getProcessedValue('tt_content', 'header', null));
+    }
+
+    /**
+     * @test
+     */
+    public function getProcessedValueForDatetimeDbTypeDate(): void
+    {
+        $GLOBALS['TCA'] = [
+            'tt_content' => [
+                'columns' => [
+                    'header' => [
+                        'config' => [
+                            'type' => 'datetime',
+                            'format' => 'date',
+                            'dbType' => 'date',
+                            'disableAgeDisplay' => true,
+                        ],
+                    ],
+                ],
+            ],
+        ];
+        $value = '2022-09-23';
+        $expected = BackendUtility::date((int)strtotime($value));
+        $languageServiceMock = $this->createMock(LanguageService::class);
+        $languageServiceMock->method('sL')->willReturn('testLabel');
+        $GLOBALS['LANG'] = $languageServiceMock;
+        self::assertSame($expected, BackendUtility::getProcessedValue('tt_content', 'header', $value));
+    }
+
     /**
      * @test
      */