Create a custom date format
You are correct, the core date.formatter service uses the native PHP date formatting strings, none of which have 'a.m.' or 'p.m.' in them.

If you really need this, I suspect this would work.


Create a new module, with a class that extends DateFormatter.
In the format method, call the parent method, and then do string replacment to convert 'am' to 'a.m.' and 'pm' to 'p.m.' 
Replace the date.formatter service with the one you created.


This may have side effects that I'm not thinking of right now.