venerdì 30 giugno 2017

Aggiungere o levare minuti

In livecode esistono molti modi per lavorare con ore e minuti, ma a me serviva qualcosa di molto specifico e ho scritto la funzione qui di seguito, ve la riporto perchè potrebbe servirvi. In pratica mettete l'orario e i minuti da aggiungere o togliere, per l'orario potete usare il formato "19:12" o quello con anche i secondi "19:12:59", i minuti posso essere positivi o negativi :

function libdate_addMinutes pTime, pMinutes
   #Usage: libdate_addminutes("18:35",37) = "19:12"
   #pTime format = "13:15" or 13:15:59"
   #pminutes is a integer positive or negative
   set itemdel to ":"
   put item 1 of ptime into tOre
   put item 2 of ptime into tMinuti
   put item 3 of ptime into tSecondi
   put tMinuti + pMinutes into tMinuti
   if pMinutes > 0 then
      put tOre + floor(tMinuti / 60) into tOre
   else
      put tOre - floor(tMinuti / 60) into tOre
   end if
   put   tMinuti mod 60 into tMinuti
   put tOre mod 24 into tOre
   if the number of chars of tMinuti is 1 then put 0 before tMinuti
   if the number of chars of tOre is 1 then put 0 before tOre
   if tSecondi is empty then
      return (tOre & ":" & tMinuti )
   else
      return (tOre & ":" & tMinuti & ":" & tSecondi )
   end if
end libdate_addminutes