LINUX.ORG.RU

К как получить дату в соответствии с локалью ?


0

0

Хочется получить сроку с датой, примерно в таком же виде, что выдает команда date.

mik@lizard:/stuff/src/time$ cat time.c 
#include <stdio.h>
#include <time.h>

main()
{
        time_t time1;
        struct tm *time2;
        char string[100];

        time1 = time(NULL);
        time2 = localtime(&time1);

        strftime(string,100,"%B",time2);
        printf("%s\n", string);

        return;
}
mik@lizard:/stuff/src/time$ gcc time.c
mik@lizard:/stuff/src/time$ export LANG=ru_RU.KOI8-R
mik@lizard:/stuff/src/time$ ./a.out 
August
mik@lizard:/stuff/src/time$ date +%B
Августа

anonymous

#include <stdio.h>
#include <time.h>
#include <locale.h> // 1

main()
{
time_t time1;
struct tm *time2;
char string[100];

setlocale(LC_ALL,"de_DE@euro"); // 2 необходимая локаль

time1 = time(NULL);
time2 = localtime(&time1);

strftime(string,100,"%B",time2);
printf("%s\n", string);

return;
}

SatanClaus ★★★
()
Ответ на: комментарий от anonymous

Неплохо еще привернуть туда getenv, ато както подозрительно выглядит.

SatanClaus ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.