У меня есть 13-значное целое число, например (1384318800000), который называется в формате Unix. Мне нужна эта дата в ММ / ДД / ГГГГ. В этом нет визуального соответствия (1384318800000
) указывает на дату 11/13/2013
, Дайте мне знать, если кто-нибудь знает это преобразование
С заданным значением time_t (в вашем случае 1384318800000) вы можете инициализировать структуру tm, используя местное время функция, а затем отформатировать строку с помощью STRFTIME
Вы ищете конвертер эпохи. Если вы конвертер времени эпохи Google, вы можете найти некоторые полезные ресурсы. http://www.epochconverter.com/ это сайт, посвященный этому, например.
Указанное вами значение было указано в Unix-времени в миллисекундах. strftime
имеет дело со временем эпохи, которое указывается в формате секунд. Вы должны будете разделить значение на 1000, прежде чем подавать в time_t
переменная. Ведь time_t определяется как long.
time_t t = 1384245237000/1000;
char buf[80];
strftime(buf, sizeof(buf), "%a %Y-%m-%d %H:%M:%S %Z", localtime(&t));
printf("%s\n", buf);