cython

Форк
0
/
libc_time.pyx 
47 строк · 852.0 Байт
1
# tag: posix
2
from libc.stdlib  cimport getenv
3
from posix.stdlib cimport setenv, unsetenv
4
from libc.time    cimport *
5

6

7
def test_time():
8
    """
9
    >>> test_time()
10
    """
11
    cdef time_t t1, t2
12
    t1 = time(NULL)
13
    assert t1 != 0
14
    t1 = time(&t2)
15
    assert t1 == t2
16

17

18
def test_mktime():
19
    """
20
    >>> test_mktime()  # doctest:+ELLIPSIS
21
    (986138177, ...'Sun Apr  1 15:16:17 2001\\n')
22
    """
23
    cdef tm t, gmt
24
    cdef time_t tt
25
    cdef char *ct
26
    cdef char *tz
27

28
    tz = getenv("TZ")
29
    setenv("TZ", "UTC", 1)
30
    tzset()
31
    t.tm_sec = 17
32
    t.tm_min = 16
33
    t.tm_hour = 15
34
    t.tm_year = 101
35
    t.tm_mon = 3
36
    t.tm_mday = 1
37
    t.tm_isdst = 0
38
    tt = mktime(&t)
39
    assert tt != -1
40
    ct = ctime(&tt)
41
    assert ct != NULL
42
    if tz:
43
        setenv("TZ", tz, 1)
44
    else:
45
        unsetenv("TZ")
46
    tzset()
47
    return tt, ct
48

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.