may be. But in my case it didn't. I was misled by the term 'local variable' coming from (and using) other programming languages.
As I understood the text (and to continue with the system-time-locale) I understood as local variable a 'value that was stored in the function's stack' to be used in the scope of the let. That implied (once again in my understanding) that the global system-time-locale would not be affected and hence format-time-string would not see the change in the value within the let.
An example like this would have helped me (and possibly shaped the way I use elisp)...
Just my .02 cents, /PA