[C#] Форматированный вывод DateTime из UnixTime

Manless

Client
Регистрация
09.01.2014
Сообщения
186
Благодарностей
33
Баллы
28
После конвертации UnixTime в DateTime кодом:
Код:
int timestamp = 1439306595;
DateTime date = new DateTime(1970, 1, 1).AddSeconds(timestamp);
return date;
Получаем значение: 11.08.2015 15:23:15

Так вот вопрос, как привести формат даты к виду: d.m. ? Но не dd.mm.
 
  • Спасибо
Реакции: luserz

iDnx

Client
Регистрация
06.06.2013
Сообщения
132
Благодарностей
105
Баллы
43
  • Спасибо
Реакции: luserz, CSS и Manless

molotok

Client
Регистрация
17.04.2015
Сообщения
733
Благодарностей
358
Баллы
63
Затестил данный сниппет. Попробовал расшифровать дату и время размещения постов из ВК - не правильно показвает время. Время в часах отстает на 3 часа. Например: ВК показвает что пост был сделан в 14:20, сниппет - 11:20.
В чем может быть дело?
 

amyboose

Client
Регистрация
21.04.2016
Сообщения
2 312
Благодарностей
1 191
Баллы
113
Затестил данный сниппет. Попробовал расшифровать дату и время размещения постов из ВК - не правильно показвает время. Время в часах отстает на 3 часа. Например: ВК показвает что пост был сделан в 14:20, сниппет - 11:20.
В чем может быть дело?
В часовой полосе, скорее всего таймстемп приходит по времени UTC(GMT 0)
 

molotok

Client
Регистрация
17.04.2015
Сообщения
733
Благодарностей
358
Баллы
63

amyboose

Client
Регистрация
21.04.2016
Сообщения
2 312
Благодарностей
1 191
Баллы
113
  • Спасибо
Реакции: molotok

amyboose

Client
Регистрация
21.04.2016
Сообщения
2 312
Благодарностей
1 191
Баллы
113

molotok

Client
Регистрация
17.04.2015
Сообщения
733
Благодарностей
358
Баллы
63
Использовать функцию .addHours(3)
Спасибо, сработало.

Код:
double timestamp = 1466545129;
DateTime date = new DateTime(1970, 1, 1, 0, 0, 0, 0).AddSeconds(timestamp).AddHours(3); // .AddHours(3) - прибавляет 3 часа к расшифрованному времени
return date.ToString("d.M.y H:mm");
 

molotok

Client
Регистрация
17.04.2015
Сообщения
733
Благодарностей
358
Баллы
63

amyboose

Client
Регистрация
21.04.2016
Сообщения
2 312
Благодарностей
1 191
Баллы
113
Я только начинаю разбираться с C#, поэтом я не знаю про настройку таймера.
Там идет отсчет секунд с 1970 г., чем и является timestamp, то есть можно добавить любое количество секунд и получить любое время.
 

molotok

Client
Регистрация
17.04.2015
Сообщения
733
Благодарностей
358
Баллы
63
Код:
int timestamp = project.Variables["unixDate"].Value;
DateTime date = new DateTime(1970, 1, 1, 0, 0, 0, 0).AddSeconds(timestamp).AddHours(3); // .AddHours(3) - прибавляет 3 часа к расшифрованному времени
return date.ToString("dd.MM.y H:mm");
Подскажите, пожалуйста, что нужно сделать чтобы заработало? http://i.imgur.com/ig2svEU.png
 

molotok

Client
Регистрация
17.04.2015
Сообщения
733
Благодарностей
358
Баллы
63
Замудрил вот такое решение
Код:
string s;
int a;
s = project.Variables["unixDate"].Value;
a = int.Parse(s);

int timestamp = a;
DateTime date = new DateTime(1970, 1, 1, 0, 0, 0, 0).AddSeconds(timestamp).AddHours(3); // .AddHours(3) - прибавляет 3 часа к расшифрованному времени
return date.ToString("dd.MM.y H:mm");
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)