AppleScript : convert decimal to hours / days
The AppleScript constants days, hours, and minutes are the number of seconds in a day, hour, and minute respectively, so you can just perform some modulo math to get the components.  For example, the hour would be the number mod days div hours, the minute would be the number mod hours div minutes, and the seconds would be the number mod minutes.

Putting all that together into a few general-purpose handlers would be something like:

set myVariableDateHere to "25/03/2019 00:00:00"
set myWantedDate to convertDate(myVariableDateHere)
log result
set difference to (current date) - myWantedDate
log result
log timeString(difference)
log formatTime(difference)

# Convert date text to an AppleScript date.
# format is DD/MM/YYYY hh:mm:ss (time is optional)
to convertDate(dateText)
  set dateTemplate to (current date)
  tell dateTemplate to set {its day, its month, its year} to words 1 thru 3 of dateText
  set time of dateTemplate to 0
  tell words of dateText to if (count it) &gt; 3 then set time of dateTemplate to (hours * (item 4)) + (minutes * (item 5)) + (item 6)
  return dateTemplate
end convertDate

# Return an elapsed time string from a number of seconds.
on timeString(theSeconds)
  if class of theSeconds is integer then set theSeconds to "" &amp; ¬
    (theSeconds div days) &amp; " days, " &amp; ¬
    (theSeconds mod days div hours) &amp; " hours, " &amp; ¬
    (theSeconds mod hours div minutes) &amp; " minutes, and " &amp; ¬
    (theSeconds mod minutes) &amp; " seconds"
  return theSeconds
end timeString

# Return a formatted time string from a number of seconds.
# format is hh:mm:ss (wraps at 24 hours)
to formatTime(theSeconds)
  if class of theSeconds is integer then tell "0" &amp; ¬
    (10000 * (theSeconds mod days div hours) ¬
      + 100 * (theSeconds mod hours div minutes) ¬
      + (theSeconds mod minutes)) ¬
      to set theSeconds to (text -6 thru -5) &amp; ":" &amp; (text -4 thru -3) &amp; ":" &amp; (text -2 thru -1)
  return theSeconds
end formatTime