Intl.DateTimeFormat is also really nicely done, because it limits the developer to "skeletons": you say what fields you want / need, and the browser will render what it has with at least those. Meaning the OS / user can override your whims if that's better or more readable. There's also formatRange which can provide localised range notations.
Although later on formatToParts was added which allows the developer to ignore the settings and really only use the bits they wanted anyway.
Although later on formatToParts was added which allows the developer to ignore the settings and really only use the bits they wanted anyway.