The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"C\C++ Получить дату в секундах"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [ Отслеживать ]

"C\C++ Получить дату в секундах"  
Сообщение от LXD email(??) on 10-Ноя-08, 11:01 
Друзья, помогите пожалуйста с задачкой:
есть дата - 10.02.08 10:50:12, необходимо перевести в секунды (linux формат). Всю голову сломал.. может кто сталкивался? (С\С++)

Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Осторожно! Неразрешимая задача!"  
Сообщение от Andrey Mitrofanov on 10-Ноя-08, 11:49 
>Друзья, помогите пожалуйста с задачкой:
>есть дата - 10.02.08 10:50:12, необходимо перевести в секунды (linux формат). Всю

$ date -d "2008-02-10 10:50:12"
Вск Фев 10 10:50:12 MSK 2008
$ date -d "2008-02-10 10:50:12" +%s
1202629812
$ _

>голову сломал.. может кто сталкивался? (С\С++)

Опустить глаза (осторожно, не сломайте!) ниже и почитать (тяжело, но надо же себя заставлять!) про "Как получить время заданного форамата (+долисекунды) в С" - http://www.opennet.me/openforum/vsluhforumID9/7672.html .

Во-о-от... Дальше - самое тяжёлое, чему учат примерно в старшей группе детсада: сложить из имеющихся кубиков желаемый доми^Wрезультат. Дерзайте, Вы сможете!

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "C\C++ Получить дату в секундах"  
Сообщение от phpcoder email(??) on 10-Ноя-08, 12:13 
>Друзья, помогите пожалуйста с задачкой:
>есть дата - 10.02.08 10:50:12, необходимо перевести в секунды (linux формат). Всю
>голову сломал.. может кто сталкивался? (С\С++)

А сам?
man strptime
man mktime

Вот пример:

#define _XOPEN_SOURCE    /* glibc2 needs this */
#include <time.h>
#include <stdio.h>

int main(void) {
    
    const char date[] = "10.02.08 10:50:12";
    struct tm tm;
    
    char *ret = strptime(date, "%d.%m.%y %T", &tm);
    if (ret == NULL) {
        fprintf(stderr, "strptime(3) error: can't parse date!\n");
        return 1;
    }
    
    time_t time = mktime(&tm);
    if (time == (time_t)-1) {
        fprintf(stderr, "mktime(3) fails with error: can't convert date to time!\n");
        return 1;
    }
    
    printf("%s is %ld\n", date, time);
    
    return 0;
}

Собираем:
user-desktop% gcc -W -Wall strptime_test.c -o strptime_test
user-desktop% ./strptime_test
10.02.08 10:50:12 is 1202619012

Проверяем:
user-desktop% date -d "2008-02-10 10:50:12" +%s
1202619012

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "C\C++ Получить дату в секундах"  
Сообщение от LXD email(??) on 10-Ноя-08, 12:39 
Спасибо огромное!


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру