It seems that the date and time format does not adapt to the “os.setlocale”. In the following example, the date and time are displayed by os.date() and by sys.Datetime - os.setlocale is used to switch to a different country. In label1 the US format is used and in label2 it remains with my system setting (Germany). It seems that sys.Datetime does not take the current os.setlocale into account.
local ui = require "ui"
local win = ui.Window("date time sample", 320, 200)
local label1 = ui.Label(win, "", 130, 10)
local label2 = ui.Label(win, "", 130, 80)
os.setlocale("English_United States.1252", "time")
label1.text = tostring(os.date())
label2.text = tostring(sys.Datetime())
win:show()
repeat
ui.update()
until not win.visible