I think there is more than enough rationale to justify something like this. To be honest, when I first got into Elixir, this was something I looked around for and just assumed it already existed.
Having used datetime formatters in a few languages, I think my favorite has been Moment.js (which isn’t strftime, and is closer to LDML). I even created a version for Elixir (sorry, never shared it). I think the formatting tokens are more intuitive than strftime.
For example, what I created looked like this:
DateTimeFormatter.format(datetime, "YYYY-MM-DD")
{:ok, "2018-12-22"}
DateTimeFormatter.format!(datetime, "M/D, h:mm a")
"12/22, 1:14 pm"
DateTimeFormatter.format(datetime, "[today is] dddd")
{:ok, "today is Saturday"}
One key difference is multiple characters for the token. Eg:
M 1 2 ... 11 12
Mo 1st 2nd ... 11th 12th
MM 01 02 ... 11 12
MMM Jan Feb ... Nov Dec
MMMM January February ... November December
That said, it sounds like you are proposing the ability to substitute formatters? So the default would be strftime, but someone could build a LDML formatter?


















