crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> FILETIME (Windows), Как перевести FILETIME в строку ?
flankerr
  опции профиля:
сообщение 12.5.2008, 10:47
Сообщение #1


Активный участник
***

Группа: Участник
Сообщений: 356
Регистрация: 9.1.2008
Пользователь №: 65

Спасибо сказали: 2 раз(а)




Репутация:   0  


Есть переменная которая содержит виндушный FILETIME как из него в QT получить год\месяц\день и тп.. по отдельности ?:)
разумеется БЕЗ использования виндушных функций.

Сообщение отредактировал flankerr - 12.5.2008, 10:49
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
ViGOur
  опции профиля:
сообщение 12.5.2008, 12:42
Сообщение #2


Мастер
******

Группа: Модератор
Сообщений: 3296
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 4

Спасибо сказали: 231 раз(а)




Репутация:   40  


Так:
#include <QtCore/QCoreApplication>

#include <windows.h>
#include <QDateTime>


const QString getDateTime( QDateTime &rdt)
{
    struct timeval p;

    union
    {
        long long ns100; /*time since 1 Jan 1601 in 100ns units */
        FILETIME ft;
    }now;

    GetSystemTimeAsFileTime( &(now.ft) );
    p.tv_usec=(long)((now.ns100 / 10LL) % 1000000LL );
    p.tv_sec= (long)((now.ns100-(116444736000000000LL))/10000000LL);

    rdt.setTime_t( p.tv_sec);

    return rdt.toString();
}

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    QDateTime dt;
    qDebug( "%s", qPrintable( getDateTime( dt)));
    
    return a.exec();
}
С Andrew Selivanov сейчас родили... :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 18.2.2025, 13:09