我应该调用什么 C 函数来获取程序正在执行的语言环境的格式化日期和时间?
我问这个问题是因为我在使用 ClamAV 守护程序 API 时遇到了问题。该VERSION
命令返回最新病毒定义的日期和时间,但代码使用调用ctime
来格式化它。据我所知ctime
,不会根据当前语言环境格式化日期时间,并在返回的字符串中使用英文缩写表示星期几和月份。这会导致问题,因为我使用 ClamAV API 的 Java 程序确实尊重当前语言环境,因此希望星期几和月份名称具有本地缩写。
datetime 格式需要与ctime生成的格式相同:
Www Mmm dd hh:mm:ss yyyy
其中 Www 是工作日,Mmm 是月份,dd 是月份中的日期,hh:mm:ss 是时间,yyyy 是年份。
我可以重写 Java 程序以始终假定英语日期,但我更乐意向 ClamAV 提交补丁,因为这对我来说似乎是他们这边的一个错误。