[<<Previous Entry]
[^^Up^^]
[Next Entry>>]
[Menu]
[About The Guide]
Пример - Печать локаль-зависимой даты
Этот пример - упрощенная версия date(1). Он работает следующим
образом:
13 setlocale(3C) устанавливает категорию LC_TIME для локали,
указанной в переменной среды LANG.
14 time(2) возвращает число секунд, прошедших с первого января 1970
года.
15 localtime(3C) преобразует это число секунд в структуру tm и
возвращает ее адрес.
17 strftime(3C), используя структуру с указателем timeptr и локаль,
присвоенную LANG, помещает символы, соответствующие локаль-
представлению даты и времени ("%c"), в массив buf.
18 Распечатывается строка, содержащаяся в buf.
Программа запускается следующим образом:
$ LANG=DE
$ export LANG
$ lfate
Donnerstag den 10. August 1989 14:47 Uhr
Файл: ldate.c
ПРИМЕР - ПЕЧАТЬ ЛОКАЛЬ-ЗАВИСИМОЙ ДАТЫ
1 #include <locale.h>
2 #include <stdio.h>
3 #include <time.h>
4 #include <unistd.h>
5
6 main()
7 {
8 char buf[50];
9 time_t clock_val;
10 struct tm *timeptr;
11
12 /* Initialize variables */
13 setlocale(LC_TIME, "");
14 (void)time(&clock_val);
15 timeptr = localtime(&clock_val);
16
17 strftime(buf, 49, "%c", timeptr);
18 puts(buf);
19 }