Я понимаю, что это старая тема, но я нашел ее полезной и подумал, что добавлю к ней свои 2 цента.
u8 getMinutes(u32 in)
{
return in & 0x3f;
}
u8 getHours(u32 in)
{
return (in>>6) & 0x1f;
}
u8 getDays(u32 in)
{
return (in>>11) & 0x1f;
}
u8 getMonths(u32 in)
{
return ((in>>16)& 0xf)+1;
}
u16 getYears(u32 in)
{
return (in>>20) & 0x7ff;
}
void printDate(u32 in)
{
printf("%d/%d/%d - %d:%d", getDays(in), getMonths(in), getYears(in), getHours(in), getMinutes(in));
}
int main(int argc, char *argv[])
{
u32 t = 0x7D92D25C;
printDate(t);
return 0;
}