diff --git a/src/libmtime.f90 b/src/libmtime.f90
index 9ff15db90e3c8606cf7928c539af80e042bba3a0..687a617e1c5b04083d85f7fdc3e20c8d842df56d 100644
--- a/src/libmtime.f90
+++ b/src/libmtime.f90
@@ -116,7 +116,12 @@ MODULE mtime_juliandelta
   PUBLIC :: juliandelta
   PUBLIC :: newJulianDelta
   PUBLIC :: deallocateJulianDelta
+  public :: operator (+)  
   !
+  interface operator (+)
+    module procedure addjuliandeltatojulianday
+    module procedure addjuliandaytojuliandelta    
+  end interface operator (+)
 
 CONTAINS
 
@@ -141,10 +146,24 @@ CONTAINS
     CALL my_deallocatejuliandelta(c_loc(my_juliandelta))
     my_juliandelta => NULL()
   END SUBROUTINE deallocateJuliandelta
-
+  !
+  function addJulianDeltaToJulianDay(op1, op2) result(ret) !OK-TESTED.
+    type(julianday), target :: ret
+    type(julianday), target, intent(in) :: op1
+    type(juliandelta), target, intent(in) :: op2
+    type(c_ptr) :: dummy_ptr
+    dummy_ptr = my_addjuliandeltatojulianday(c_loc(op1), c_loc(op2), c_loc(ret))
+  end function addJulianDeltaToJulianDay
+  !
+  function addjulianDayToJulianDelta(op2, op1) result(ret) !OK-TESTED.
+    type(julianday), target :: ret
+    type(julianday), target, intent(in) :: op1
+    type(juliandelta), target, intent(in) :: op2
+    type(c_ptr) :: dummy_ptr
+    dummy_ptr = my_addjuliandeltatojulianday(c_loc(op1), c_loc(op2), c_loc(ret))
+  end function addjulianDayToJulianDelta
+  !
 END MODULE mtime_juliandelta
-
-
 !>
 !! @brief Julian Day Calendar and some operations supported on julian dates.
 !!
diff --git a/src/mtime_c_bindings.f90 b/src/mtime_c_bindings.f90
index 6190b987983fee2aab005ad615390a80309c8674..76f3fa3876837f0bbec0430e055e8b2a7e9ab2ea 100644
--- a/src/mtime_c_bindings.f90
+++ b/src/mtime_c_bindings.f90
@@ -128,6 +128,13 @@ module mtime_c_bindings
       import :: c_ptr
       type(c_ptr), value :: jd
     end subroutine my_deallocatejuliandelta
+    !
+    function my_addjuliandeltatojulianday(my_julianday, my_juliandelta, ret_julianday) result(julianday_ptr) &
+         &   bind(c, name='addJulianDelta')
+      import :: c_ptr
+      type(c_ptr) :: julianday_ptr
+      type(c_ptr), value :: my_julianday, my_juliandelta, ret_julianday
+    end function my_addjuliandeltatojulianday
   end interface
 
   interface