Преобразование времени Unix в удобочитаемый формат - PullRequest
0 голосов
/ 29 октября 2009

Я строю свое собственное время Unix в удобочитаемом преобразовании, и я застрял.

Я могу извлечь год просто отлично, но день оказывается слишком сложным.

/*
   Converts a 32-bit number of seconds after 01-01-1970 to a _SYSTEMTIME structure
*/
static _SYSTEMTIME Convert(unsigned long a_UnixTime)
{   
    newtime.wMilliseconds = 0;
    newtime.wYear   = (unsigned long)((float)a_UnixTime / (364.24f * 24.f * 60.f * 60.f));
    newtime.wDay    = (a_UnixTime - (unsigned long)((float)newtime.wYear * 364.24f * 24.f * 60.f * 60.f)); // returns 65177

    return newtime;
}

Или есть встроенная функция, которую я пропустил?

Заранее спасибо.

UPDATE:

Хм ... кажется, что Windows Mobile не поддерживает strftime, time или localtime, поэтому мне все равно придется кататься самостоятельно. (

Ответы [ 2 ]

2 голосов
/ 29 октября 2009

Вы ищете gmtime?

struct tm * gmtime(const time_t *clock);

External declarations, as well as the tm structure definition, are contained in the <time.h> include file.  The tm structure includes at least the following fields:

       int tm_sec;     /* seconds (0 - 60) */
       int tm_min;     /* minutes (0 - 59) */
       int tm_hour;    /* hours (0 - 23) */
       int tm_mday;    /* day of month (1 - 31) */
       int tm_mon;     /* month of year (0 - 11) */
       int tm_year;    /* year - 1900 */
       int tm_wday;    /* day of week (Sunday = 0) */
       int tm_yday;    /* day of year (0 - 365) */
       int tm_isdst;   /* is summer time in effect? */
       char *tm_zone;  /* abbreviation of timezone name */
       long tm_gmtoff; /* offset from UTC in seconds */
1 голос
/ 29 октября 2009

Если вы хотите отформатировать для печати, вам нужно <a href="http://www.manpagez.com/man/3/strftime/" rel="nofollow noreferrer">strftime()</a>, это стандартное решение, используемое вместе с напр. <a href="http://www.manpagez.com/man/3/localtime/" rel="nofollow noreferrer">localtime()</a> для преобразования необработанной временной метки в более удобный для человека формат.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...