diff --git a/src/cdi_datetime.c b/src/cdi_datetime.c
index c07ff05b98123491383e418c957f2d3d4a7dd18a..6711b1a896e12b04dc4113fc8300a144d6f108f5 100644
--- a/src/cdi_datetime.c
+++ b/src/cdi_datetime.c
@@ -164,17 +164,38 @@ cdiDateTime_init(CdiDateTime *cdiDateTime)
   cdiTime_init(&cdiDateTime->time);
 }
 
+bool
+cdiDate_isEQ(const CdiDate cdiDate1, const CdiDate cdiDate2)
+{
+  // clang-format off
+  return (cdiDate1.year  == cdiDate2.year
+       && cdiDate1.month == cdiDate2.month
+       && cdiDate1.day   == cdiDate2.day);
+  // clang-format on
+}
+
+bool
+cdiTime_isEQ(const CdiTime cdiTime1, const CdiTime cdiTime2)
+{
+  // clang-format off
+  return (cdiTime1.hour   == cdiTime2.hour
+       && cdiTime1.minute == cdiTime2.minute
+       && cdiTime1.second == cdiTime2.second
+       && cdiTime1.ms     == cdiTime2.ms);
+  // clang-format on
+}
+
 bool
 cdiDateTime_isEQ(const CdiDateTime cdiDateTime1, const CdiDateTime cdiDateTime2)
 {
   // clang-format off
-  return (cdiDateTime1.date.year == cdiDateTime2.date.year
-      && cdiDateTime1.date.month == cdiDateTime2.date.month
-      && cdiDateTime1.date.day == cdiDateTime2.date.day
-      && cdiDateTime1.time.hour == cdiDateTime2.time.hour
-      && cdiDateTime1.time.minute == cdiDateTime2.time.minute
-      && cdiDateTime1.time.second == cdiDateTime2.time.second
-      && cdiDateTime1.time.ms == cdiDateTime2.time.ms);
+  return (cdiDateTime1.date.year   == cdiDateTime2.date.year
+       && cdiDateTime1.date.month  == cdiDateTime2.date.month
+       && cdiDateTime1.date.day    == cdiDateTime2.date.day
+       && cdiDateTime1.time.hour   == cdiDateTime2.time.hour
+       && cdiDateTime1.time.minute == cdiDateTime2.time.minute
+       && cdiDateTime1.time.second == cdiDateTime2.time.second
+       && cdiDateTime1.time.ms     == cdiDateTime2.time.ms);
   // clang-format on
 }
 
diff --git a/src/cdi_datetime.h b/src/cdi_datetime.h
index 5be17a3b5e4cfbb07c585806837ca5f2c2fdd825..400edc69ae320931aa07ff8fb3a90d89b6c4dfa2 100644
--- a/src/cdi_datetime.h
+++ b/src/cdi_datetime.h
@@ -46,6 +46,8 @@ void cdiDate_init(CdiDate *cdiDate);
 void cdiTime_init(CdiTime *cdiTime);
 void cdiDateTime_init(CdiDateTime *cdiDateTime);
 
+bool cdiDate_isEQ(CdiDate cdiDate1, CdiDate cdiDate2);
+bool cdiTime_isEQ(CdiTime cdiTime1, CdiTime cdiTime2);
 bool cdiDateTime_isEQ(CdiDateTime cdiDateTime1, CdiDateTime cdiDateTime2);
 bool cdiDateTime_isNE(CdiDateTime cdiDateTime1, CdiDateTime cdiDateTime2);
 bool cdiDateTime_isNull(CdiDateTime cdiDateTime);