OK, I think I’ve solved it
The reason you can’t get leading zero in minutes is because the moment you add mathematical operation on it, it becomes an integer instead of text string.
To solve this we’ll have to cheat a little
You’ll need to create three text layers:
- hours and : (e.g. “12:”);
- minutes+15 string;
- minutes displaying tenths only when below 10 minutes.
Here is a working example so feel free to use it, inspection is enabled
Here is the explanation how it works.
Layer 1: Hours
This is simple, we’ve used our previously-created string:
… and added colon at the end.
Layer 2: Minutes+15
This layer has two tasks:
- when minutes are below 10, it becomes fake “0” and does nothing else;
- when minutes are above 10, it displays them from 11 to 59.
For this, we’ll use
$((#Dm#+15)%60)<10?0:((#Dm#+15)%60)$ as a text string.
It’ll work in conjunction with Layer 3 to display minutes correctly.
Layer 3: minute tenths when below 10
This layer will use
((#Dm#+15)%60) in Text field, but we’ll also add this to Opacity field:
You’ll need to adjust text alignment as in my example face, otherwise text may start going all over the place so just pay attention to alignment settings.
To make it easy, I’ve used temporary text field with rigid “8:00” string in it, set the time to 8:00 on the Time Machine and put all elements over the temporary text layer (with alignments as in example), then just removed it the temp layer.
It was fun to try and figure it out
PS: Apologies I didn’t respond earlier, had a look same day you’ve responded but life got in the way.