获取当前区域设置的日期格式

时间:2015-01-21 21:37:43

标签: date haskell internationalization

当我第一次偶然发现defaultTimeLocale中的常量System.Locale时,我认为它应该包含当前语言环境的默认TimeLocale。

经过一番尝试,我意识到它总是包含相同的常量,并且查看System.Locale的源代码很快就会发现它实际上只是一个常数。 (后来我意识到该类型也告诉我。由于defaultTimeLocale不是IO值,并且不接受任何参数,因此 是常量。)< / p>

Haskell在当前语言环境中获取当前TimeLocale的方式是什么?

1 个答案:

答案 0 :(得分:1)

System.CurrentLocale.currentLocale :: IO TimeLocale
来自包current-locale

看起来很合适。

我没有测试它。看看它的源代码,应该可行。我实际上并不喜欢它,因为它下面会生成四个 date个子进程(!),这对于这个简单的任务来说相当过分,恕我直言。

可能会改写它来改为使用某些C或POSIX函数。