diff --git a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/covidcertificate/test/ui/CertificatesFragmentTest.kt b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/covidcertificate/test/ui/CertificatesFragmentTest.kt
index c36cb24610b6aabd39782549adc9be355ff38be8..fe3e86f60f1bb8c238832567389e322aea8e6047 100644
--- a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/covidcertificate/test/ui/CertificatesFragmentTest.kt
+++ b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/covidcertificate/test/ui/CertificatesFragmentTest.kt
@@ -41,7 +41,7 @@ class CertificatesFragmentTest : BaseUITest() {
     @MockK lateinit var vaccinatedPerson: VaccinatedPerson
 
     private val formatter = DateTimeFormat.forPattern("dd.MM.yyyy HH:mm")
-    private val testDate = DateTime.parse("12.05.2021 19:00", formatter).toInstant()
+    private val testDate = DateTime.parse("12.05.2021 19:00", formatter)
 
     @Before
     fun setup() {
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/covidcertificate/test/ui/CertificatesViewModel.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/covidcertificate/test/ui/CertificatesViewModel.kt
index 374c269b475ecea16b6f5fe41bc4f6896b73937e..41ce50d90d29a4624aadde9661054b3c53f114dd 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/covidcertificate/test/ui/CertificatesViewModel.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/covidcertificate/test/ui/CertificatesViewModel.kt
@@ -18,6 +18,7 @@ import de.rki.coronawarnapp.covidcertificate.vaccination.ui.cards.HeaderInfoVacc
 import de.rki.coronawarnapp.covidcertificate.vaccination.ui.cards.ImmuneVaccinationCard
 import de.rki.coronawarnapp.covidcertificate.vaccination.ui.cards.NoCovidTestCertificatesCard
 import de.rki.coronawarnapp.covidcertificate.vaccination.ui.cards.VaccinationCard
+import de.rki.coronawarnapp.util.TimeAndDateExtensions.toUserTimeZone
 import de.rki.coronawarnapp.util.ui.SingleLiveEvent
 import de.rki.coronawarnapp.util.viewmodel.CWAViewModel
 import de.rki.coronawarnapp.util.viewmodel.SimpleCWAViewModelFactory
@@ -96,9 +97,11 @@ class CertificatesViewModel @AssistedInject constructor(
     }
 
     private fun Collection<TestCertificateWrapper>.toCertificateItems(): List<CertificatesItem> = map { certificate ->
+        val localRegistrationTime = certificate.registeredAt.toUserTimeZone()
+
         if (certificate.isCertificateRetrievalPending) {
             CovidTestCertificateErrorCard.Item(
-                testDate = certificate.registeredAt,
+                testDate = localRegistrationTime,
                 isUpdatingData = certificate.isUpdatingData,
                 onRetryAction = {
                     refreshTestCertificate(certificate.identifier)
@@ -113,7 +116,7 @@ class CertificatesViewModel @AssistedInject constructor(
             )
         } else {
             CovidTestCertificateCard.Item(
-                testDate = certificate.registeredAt,
+                testDate = localRegistrationTime,
                 testPerson =
                 certificate.testCertificate?.firstName + " " +
                     certificate.testCertificate?.lastName,
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/covidcertificate/test/ui/cards/CovidCertificateTestItem.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/covidcertificate/test/ui/cards/CovidCertificateTestItem.kt
index bc27a92dd94416a5e9e1f45b22b9f384af8f8856..a6c0d087ed41cf721baed50c9350ec444c89f832 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/covidcertificate/test/ui/cards/CovidCertificateTestItem.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/covidcertificate/test/ui/cards/CovidCertificateTestItem.kt
@@ -1,10 +1,10 @@
 package de.rki.coronawarnapp.covidcertificate.test.ui.cards
 
 import de.rki.coronawarnapp.covidcertificate.test.ui.items.CertificatesItem
-import org.joda.time.Instant
+import org.joda.time.DateTime
 
 interface CovidCertificateTestItem : CertificatesItem {
-    val testDate: Instant
+    val testDate: DateTime
 
     override val stableId: Long
         get() = testDate.hashCode().toLong()
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/covidcertificate/test/ui/cards/CovidTestCertificateCard.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/covidcertificate/test/ui/cards/CovidTestCertificateCard.kt
index 791baaf5ab8d8625f9aa814583dd4d9975107aad..a5eb74819dfab46b7c0260eb167b255b6c6f9161 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/covidcertificate/test/ui/cards/CovidTestCertificateCard.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/covidcertificate/test/ui/cards/CovidTestCertificateCard.kt
@@ -4,10 +4,10 @@ import android.view.ViewGroup
 import de.rki.coronawarnapp.R
 import de.rki.coronawarnapp.covidcertificate.test.ui.CertificatesAdapter
 import de.rki.coronawarnapp.databinding.CovidTestSuccessCardBinding
-import de.rki.coronawarnapp.util.TimeAndDateExtensions.toShortDayFormat
+import de.rki.coronawarnapp.util.TimeAndDateExtensions.toDayFormat
 import de.rki.coronawarnapp.util.TimeAndDateExtensions.toShortTimeFormat
 import de.rki.coronawarnapp.util.lists.diffutil.HasPayloadDiffer
-import org.joda.time.Instant
+import org.joda.time.DateTime
 
 class CovidTestCertificateCard(parent: ViewGroup) :
     CertificatesAdapter.CertificatesItemVH<CovidTestCertificateCard.Item, CovidTestSuccessCardBinding>(
@@ -26,8 +26,8 @@ class CovidTestCertificateCard(parent: ViewGroup) :
         val curItem = payloads.filterIsInstance<Item>().singleOrNull() ?: item
         testTime.text = context.getString(
             R.string.test_certificate_time,
-            curItem.testDate.toShortDayFormat(),
-            curItem.testDate.toShortTimeFormat(),
+            item.testDate.toDayFormat(),
+            item.testDate.toShortTimeFormat()
         )
 
         personName.text = curItem.testPerson
@@ -36,7 +36,7 @@ class CovidTestCertificateCard(parent: ViewGroup) :
     }
 
     data class Item(
-        override val testDate: Instant,
+        override val testDate: DateTime,
         val testPerson: String,
         val onClickAction: (Item) -> Unit,
     ) : CovidCertificateTestItem, HasPayloadDiffer {
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/covidcertificate/test/ui/cards/CovidTestCertificateErrorCard.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/covidcertificate/test/ui/cards/CovidTestCertificateErrorCard.kt
index 3377a129fe47ba8d15b4ac6677af453871b3e028..13d0a6c9edb7d9790235cd92848d1a4ec0f970d3 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/covidcertificate/test/ui/cards/CovidTestCertificateErrorCard.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/covidcertificate/test/ui/cards/CovidTestCertificateErrorCard.kt
@@ -6,17 +6,16 @@ import androidx.core.view.isInvisible
 import de.rki.coronawarnapp.R
 import de.rki.coronawarnapp.covidcertificate.test.ui.CertificatesAdapter
 import de.rki.coronawarnapp.databinding.CovidTestErrorCardBinding
-import de.rki.coronawarnapp.util.TimeAndDateExtensions.toShortDayFormat
+import de.rki.coronawarnapp.util.TimeAndDateExtensions.toDayFormat
 import de.rki.coronawarnapp.util.TimeAndDateExtensions.toShortTimeFormat
 import de.rki.coronawarnapp.util.lists.diffutil.HasPayloadDiffer
-import org.joda.time.Instant
+import org.joda.time.DateTime
 
 class CovidTestCertificateErrorCard(parent: ViewGroup) :
     CertificatesAdapter.CertificatesItemVH<CovidTestCertificateErrorCard.Item, CovidTestErrorCardBinding>(
         R.layout.home_card_container_layout,
         parent
     ) {
-
     override val viewBinding = lazy {
         CovidTestErrorCardBinding.inflate(layoutInflater, itemView.findViewById(R.id.card_container), true)
     }
@@ -28,8 +27,8 @@ class CovidTestCertificateErrorCard(parent: ViewGroup) :
 
         testTime.text = context.getString(
             R.string.test_certificate_time,
-            item.testDate.toShortDayFormat(),
-            item.testDate.toShortTimeFormat(),
+            item.testDate.toDayFormat(),
+            item.testDate.toShortTimeFormat()
         )
 
         retryButton.setOnClickListener {
@@ -53,7 +52,7 @@ class CovidTestCertificateErrorCard(parent: ViewGroup) :
     }
 
     data class Item(
-        override val testDate: Instant,
+        override val testDate: DateTime,
         val onRetryAction: (Item) -> Unit,
         val onDeleteAction: (Item) -> Unit,
         val isUpdatingData: Boolean,
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/submission/ui/testresults/negative/RATResultNegativeFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/submission/ui/testresults/negative/RATResultNegativeFragment.kt
index 3076ce09864618680690feeab66e627ca43c3b63..c9c72866e42bf329a6ba89256bc5477369c3fa51 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/submission/ui/testresults/negative/RATResultNegativeFragment.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/submission/ui/testresults/negative/RATResultNegativeFragment.kt
@@ -10,13 +10,14 @@ import androidx.fragment.app.Fragment
 import de.rki.coronawarnapp.R
 import de.rki.coronawarnapp.databinding.FragmentSubmissionAntigenTestResultNegativeBinding
 import de.rki.coronawarnapp.util.DialogHelper
+import de.rki.coronawarnapp.util.TimeAndDateExtensions.toDayFormat
+import de.rki.coronawarnapp.util.TimeAndDateExtensions.toShortTimeFormat
 import de.rki.coronawarnapp.util.TimeAndDateExtensions.toUserTimeZone
 import de.rki.coronawarnapp.util.di.AutoInject
 import de.rki.coronawarnapp.util.ui.popBackStack
 import de.rki.coronawarnapp.util.ui.viewBinding
 import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider
 import de.rki.coronawarnapp.util.viewmodel.cwaViewModels
-import org.joda.time.format.DateTimeFormat
 import javax.inject.Inject
 
 class RATResultNegativeFragment : Fragment(R.layout.fragment_submission_antigen_test_result_negative), AutoInject {
@@ -25,8 +26,6 @@ class RATResultNegativeFragment : Fragment(R.layout.fragment_submission_antigen_
 
     private val binding: FragmentSubmissionAntigenTestResultNegativeBinding by viewBinding()
 
-    private val shortTime = DateTimeFormat.shortTime()
-
     private val deleteRatTestConfirmationDialog by lazy {
         DialogHelper.DialogInstance(
             requireActivity(),
@@ -76,7 +75,7 @@ class RATResultNegativeFragment : Fragment(R.layout.fragment_submission_antigen_
             uiState.test.dateOfBirth?.let {
                 val birthDate = getString(
                     R.string.submission_test_result_antigen_patient_birth_date_placeholder,
-                    it.toString(DATE_FORMAT)
+                    it.toDayFormat()
                 )
                 if (this.isNotBlank()) append(", ")
                 append(birthDate)
@@ -86,8 +85,8 @@ class RATResultNegativeFragment : Fragment(R.layout.fragment_submission_antigen_
         val localTime = uiState.test.testTakenAt.toUserTimeZone()
         resultReceivedTimeAndDate.text = getString(
             R.string.coronatest_negative_antigen_result_time_date_placeholder,
-            localTime.toString(DATE_FORMAT),
-            localTime.toString(shortTime)
+            localTime.toDayFormat(),
+            localTime.toShortTimeFormat()
         )
 
         val isAnonymousTest = with(uiState.test) {
@@ -137,8 +136,4 @@ class RATResultNegativeFragment : Fragment(R.layout.fragment_submission_antigen_
             }
         }
     }
-
-    companion object {
-        private const val DATE_FORMAT = "dd.MM.yyyy"
-    }
 }
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/TimeAndDateExtensions.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/TimeAndDateExtensions.kt
index 897f618ef8b4b1c654e2aacb7ac839810ad88517..4efd78218495b2d8317431c23abbb93d2b132032 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/TimeAndDateExtensions.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/TimeAndDateExtensions.kt
@@ -120,16 +120,26 @@ object TimeAndDateExtensions {
      */
     fun LocalDate.toDayFormat(): String = toString(dayFormatter)
 
+    /**
+     * Returns a readable date String with the format "dd.MM.yyyy" like 23.05.1989 of a DateTime
+     */
+    fun DateTime.toDayFormat(): String = toString(dayFormatter)
+
     /**
      * Returns a readable time String with the format "hh:mm" like 12:00 of a LocalDate
      */
     fun LocalDate.toShortTimeFormat(): String = toString(shortTime)
 
     /**
-     * Returns a readable time String with the format "hh:mm" like 12:00 of a LocalDate
+     * Returns a readable time String with the format "hh:mm" like 12:00 of a Instant
      */
     fun Instant.toShortTimeFormat(): String = toString(shortTime)
 
+    /**
+     * Returns a readable time String with the format "hh:mm" like 12:00 of a DateTime
+     */
+    fun DateTime.toShortTimeFormat(): String = toString(shortTime)
+
     /**
      * Returns a readable date String with the format "dd.MM.yy" like 23.05.89 of an Instant
      */