C 是否使用strftime以西班牙语显示月份?

C 是否使用strftime以西班牙语显示月份?,c,strftime,C,Strftime,我正在尝试获取2018-09-01至2018年9月1日的格式a日期。 我一直在使用: strftime(displayDate, sizeof(displayDate), "%B %d %Y", &date_obj); 它工作得很好,但是,有没有办法将月份格式化为西班牙语?函数根据当前区域设置格式化日期。因此,您需要首先为LC\u TIME设置区域设置: setlocale(LC_TIME, "es_ES-UTF_8"); 有关更多信息,请参阅。函数根据当前区域设置设置日期格式。因此

我正在尝试获取2018-09-01至2018年9月1日的格式a日期。 我一直在使用:

strftime(displayDate, sizeof(displayDate), "%B %d %Y", &date_obj);

它工作得很好,但是,有没有办法将月份格式化为西班牙语?

函数根据当前区域设置格式化日期。因此,您需要首先为
LC\u TIME
设置区域设置:

setlocale(LC_TIME, "es_ES-UTF_8");

有关更多信息,请参阅。

函数根据当前区域设置设置日期格式。因此,您需要首先为
LC\u TIME
设置区域设置:

setlocale(LC_TIME, "es_ES-UTF_8");

有关详细信息,请参阅。

必须先设置西班牙语的语言环境,然后设置日期字符串的格式。请参阅setlocale函数。谢谢。我会试试看。如果区域设置多次更改,是否会导致操作系统出现问题?必须先将区域设置为西班牙语,然后格式化日期字符串。请参阅setlocale函数。谢谢。我会试试看。如果区域设置多次更改,是否会导致操作系统出现问题?谢谢。我会试试看。如果区域设置多次更改,是否会导致操作系统出现问题?@JaimeT使用
setlocale
设置区域设置只会影响当前进程,并且只影响给定的区域设置类别。谢谢。我会试试看。如果区域设置多次更改,是否会导致操作系统出现问题?@JaimeT使用
setlocale
设置区域设置只会影响当前进程,并且只会影响给定的区域设置类别。