разобрать "странный" формат даты - PullRequest
0 голосов
/ 22 января 2011

Привет, у меня проблемы с датой разбора в этом формате:

1295716379

Я не знаю, какой это формат даты.

Удобочитаемое значение этой строки:

22. 1. 2011, 18.12

Также я не знаю, что это какой-то формат ковбойского кодера или какой-то «стандартный».

И если это возможно, проанализировать строку сверху в удобочитаемом формате, например, в C #, Java, C ++.

Спасибо

Ответы [ 3 ]

3 голосов
/ 22 января 2011

Это выглядит как Unix Timestamp .

Вы можете проанализировать их следующим образом:

Дополнительные ссылки: Epoch Converter.com .

0 голосов
/ 22 января 2011

Проверено, это метка времени Unix.

Время составляет Sat Jan 22 17:12:59 2011 в UTC.

Похоже, у вас есть местное значение времени, а ваш часовой пояс UTC + 1.

В C / C ++:

#define  _USE_32BIT_TIME_T
#include <stdio.h>
#include <time.h>
#include <stdlib.h>

int main()
{
    int i = atoi("1295716379");
    time_t t = (time_t)i;
    puts(ctime( &t ));
    tm t_tm = *gmtime(&t);
    puts(asctime( &t_tm ));
    return 0;
}

Вывод:

Sun Jan 23 02:12:59 2011

Sat Jan 22 17:12:59 2011

Обратите внимание, что gmtime возвращает значение времени UTC, localtime возвращает значение местного времени.

PS: я живу в UTC + 9 часовых поясов

0 голосов
/ 22 января 2011

Это метка времени эпохи UNIX.

Пример в C # для преобразования его в DateTime:

DateTime ToDateTime(int seconds)
{
    DateTime epoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
    return epoch.ToLocalTime().AddSeconds(seconds);
}

Это преобразует его в местное время.

...