I'm trying to find a way in Calendar for start times that are on the hour (e.g., 8:00pm) to output as "8pm" and for times that are not on the hour (e.g., 8:15pm) to output as "8:15pm". I'm not figuring out how to write the conditional to do that. Any ideas?

EDIT: Just to make this a little more clear, I want any times that are on the hour to just be the hour (8:00pm should render as 8pm) and any times that are not on the hour should have the hour and the minutes (8:25pm should render as 8:25pm).


You should have a look at the demo templates, as this problem was solved there. :)

You actually need to use a different time variable available to you:

{event_start_date format="%g"}
{if event_start_minute > 0}
   :{event_start_minute}{event_start_date format="%A"}
  • Thanks, this worked! I was looking in the docs rather than the demos, but I'll check those out more. – edward Feb 16 '16 at 14:12

You should be able to handle this like any other conditional using the event_start_date variable.

So if you wanted something that wasn't a specific hour, but for ANY time, you could do something like:

{if "{event_start_date format='%i'}" == "00"}
    {event_start_date format='%g:%i%A'}
    {event_start_date format='%g:15%A'}
  • Thanks for the suggestion! It looks like it should work, however the first line {if "{event_start_date format='%i'}" == "00"} isn't figuring it out when the time is 8:00pm. In other words, it's giving me the same format whether the time is 8:00 or 8:15. – edward Feb 12 '16 at 19:42

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.