To summarize at time of writing there is no API that results in the same behaviour as native iOS Calendar and Clock apps. Furthermore there is no official recommended approach to this. Personally we will go with a solution where we always use 12 hour representations of times when read out for VoiceOver so that the context provided by "am/pm" read out is always available.