2013-11-12 3 views
0

У меня есть 13-значное целое число (1384318800000), которое, как говорят, является unix-форматом. Мне нужна эта дата в MM/DD/YYYY. В этом нет визуального соответствия (1384318800000) указывает на дату 11/13/2013. Дайте мне знать, если кто-либо знает это преобразованиеunix date conversion in tizen

+2

Число у вас слишком велико. Теперь, если вы отбросите несколько нулей, чтобы получить «1384318800», то это Wed, 13 ноября 2013 05:00:00 GMT. –

ответ

2

с заданным значением time_t (который 1384318800000 в вашем случае), вы можете инициализировать структуру тм используя localtime функцию, а затем форматировать строку, используя strftime

+0

как инициализацию время с 1384318800000 –

+0

'#include ' ' time_t given_time = 1384318800000;' –

+0

Я не имею заголовок просто

1

Вы ищете конвертер эпох. Если вы конвертер времени google эпохи, вы можете найти полезные ресурсы. http://www.epochconverter.com/ - это сайт, посвященный этому, например.

1

Значение, которое вы указали был дан в Unix время в миллисекундах. strftime относится к периоду времени, указанному в формате секунд. Вам нужно будет разделить значение с 1000 до подачи на time_t переменной. Ведь time_t определяется как длинный.

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); 
+0

Я решил: P. –