Is there a date / time format that only shows minutes if they are non-zero? I want a time/date format in a View that renders like this when a time ends in :00
Sep. 16, 2017 - 2pm

BUT, renders like this only if minutes are present:
Sep. 16, 2017 - 2:30pm

Currently, I use this format: M. d, Y - g:ia but I need a way to make those zeros disappear when an event starts at the top of the hour.
A bit of a cludge but if your output allows simple html, you can write a format that includes a span around the colon and minutes and use the minutes as a class.  Then hide the span if it's 00.  E.g.

M. d, Y - g&lt;\s\p\a\n\ \c\l\a\s\s='\m\i\n-i'&gt;:i&lt;\s\p\a\n\&gt;a


Then css of

.min-00 { display: none; }


I've done this with dates to produce over/under large date/small month displays. If it's coming from a view, you may need to check the allow html option on the field.