Coming over from Zooper, which I knew really well. KWGT Pro is so much better than Zooper, and I'm really having fun using it.

I'm trying to display the time until the next alarm as h:mm, but I can't figure out what math to use to get that. I am currently using \$df(si(alarmd)) which works fine, but isn't exactly what I want.

What I'd really like is: If it's more than one day until the next alarm, display in a text field: "'d' days and 'h' hours until next alarm", otherwise, display "(h:mm)".

I know this is probably pretty basic, but I'd appreciate a hand (no time-pun intended).

thanks

`I is the same question.anyone...`

So, if you need to measure time to an even (any date event) you can use TF function (TF: Format a time span (es "3 hours ago")), for example, you can do \$tf(si(alarmd))\$ for the "automatic" mode or use \$tf(si(alarmd), "D' days 'h' hours and 'm' minutes'")\$ to display details (i am using single hypens ' to escape normal text inside a date formula, this is valid also in DF, this is to avoid writing "\$tf(si(alarmd), D)\$ days \$tf(si(alarmd), h)\$ hours and \$tf(si(alarmd), m)\$ minutes"

TF() is pretty smart, so if you pass a date then it will print time relative to now (so "in 10 hours" or "10 hours ago") while if you pass a number of seconds it will just parse absolute time (es "10 hours"). Let me give some example:

• Time to / from a date \$tf(si(alarmd))\$ will write like "in 5 hours"
• Delta between 2 dates so \$tf(ai(nsunrise) - ai(sunset))\$ will parse the time between "next sunrise" and "today sunset" and write something like "8 hours" which is the duration of the "night" today
• \$tf(360)\$ will write "6 minutes"

Thanks for all the help, Frank!

in case anyone is interested, here's the solution I came up with. I'm sure it could be shortened a bit, but it should be quite clear what is going on.

What I wanted was for the alarm text field to display, for example: "Next alarm - 2d 4h" if the alarm is more than a day away. If the alarm is less than a day away, but more than an hour away, I wanted "Next alarm - xh:ym". And, if the alarm is less than an hour away, I wanted "Next Alarm - xm"

Here is the formula I came up with:

\$if(tf(si(alarmd), "D")>0,tf(si(alarmd), "Next alar'm' • D'd 'h'h"))\$\$if(tf(si(alarmd), "D")<=0&tf(si(alarmd), "H")>0,tf(si(alarmd), "Next alar'm' • H'h':mm'm"))\$\$if(tf(si(alarmd), "D")<=0&tf(si(alarmd), "H")<=0,tf(si(alarmd), "Next alar'm' • m'm"))\$

( I don't use if-then statements just to simplify).

Thanks to Frank for the help in getting me on the right track!

I think what you is after is like this. Just replace my danish, it will only print if time is less than a day. Hope it helps :)

``\$if(si(alarmon)=1&tf(si(alarmd),"D")<1,"Alarm kl. "+df("hh:mm", si(alarmd))+" "+tf(si(alarmd)))\$``