dop251 / goja

ECMAScript/JavaScript engine in pure Go
MIT License
5.43k stars 365 forks source link

Builtin Date locale's methods ignore locale argument #572

Open olegbespalov opened 3 months ago

olegbespalov commented 3 months ago

What?

One of the k6's users reported that using the Date().toLocaleDateString() always returns the date in the same format.

Date().toLocaleDateString('en-US') Expect 12/30/2012 : Actual 12/30/2012
Date().toLocaleDateString('en-CA') Expect 2012-12-30 : Actual 12/30/2012
Date().toLocaleDateString('en-GB') Expect 30/12/2012 : Actual 12/30/2012
Date().toLocaleDateString('de-DE') Expect 30.12.2012 : Actual 12/30/2012

It's happening since internally, the only dateLayout_en_GB is used, and we don't take into account any arguments.

Probably, that's not what most users will expect.

Why?

Fixing this will help satisfy users' expectations.

dop251 commented 3 months ago

I don't see how it's possible without involving a 3rd party library, any suggestions?