Я строю свое собственное время unix для удобочитаемого преобразования, и я застрял.Преобразование времени 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, время или МестноеВремя, так что я все равно придется свернуть самостоятельно. :(
Даже секунды будут сложными, если принять во внимание секунды прыжка. –
PS. С 1970 года существует –
, если Windows Mobile не имеет strftime, я бы искал что-то еще, что может быть. .. Полагаю, возможно, вам действительно придется сворачивать свои собственные, но это поражает меня, как некоторые вещь, которую они обязательно предоставили * как-то * ... нет? (Примечание. У меня есть нулевой опыт работы с Windows Mobile, либо как пользователь, либо как разработчик.) – lindes