当我第一次遇到位于
尝试过后,我发现它始终包含相同的常量,并且查看
在Haskell中,以当前语言环境为基准获取当前
System.Locale
中的常量defaultTimeLocale
时,我认为它应该包含当前语言环境的默认TimeLocale。尝试过后,我发现它始终包含相同的常量,并且查看
System.Locale
源代码很快就揭示了它实际上只是一个常量。(后来我意识到类型也告诉我这一点。由于defaultTimeLocale
不是IO
值并且不接受任何参数,它必须是常量。)在Haskell中,以当前语言环境为基准获取当前
TimeLocale
的方法是什么?
strftime
函数,其中有格式项%D
,可以根据当前区域设置格式化日期。Haskell的format
函数也有相同的格式项,但它会根据给定的TimeLocale
格式化日期。我没有找到一个C函数来获取当前的格式。 - Kritzefitz