According to my tests, format will never display unicode characters.
I ran through every single list of timezones in wikipedia (https://en.wikipedia.org/wiki/List_of_tz_database_time_zones) and not a single time did it ever produce a weird non-ascii output. In fact, putting all possible dtf.format(date) in a set and comparing it with:
var s = new Set()
/* run through every timezone and do s.add(dtf.format(d)) */
s.forEach(x => console.log(x, x === x.replace(/\u200e/g, '')))
According to my tests, format will never display unicode characters. I ran through every single list of timezones in wikipedia (https://en.wikipedia.org/wiki/List_of_tz_database_time_zones) and not a single time did it ever produce a weird non-ascii output. In fact, putting all possible
dtf.format(date)
in a set and comparing it with:Produced exactly the output you would expect:
There is no reason to run unecessary regex on ascii strings.