Как преобразовать строку в timestamp

239
17 декабря 2017, 07:51

Есть строка

20171215220000 +0300

Как преобразовать его в timestamp?

Данный код например получает текущий timestamp

Int32 unixTimestamp = (Int32)(DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1))).TotalSeconds;

Как я понимаю надо строку в DateTime перевести,но не знаю как

Answer 1

Если у вас реально unix timestamp, то так:

DateTimeOffset.FromUnixTimeMilliseconds(20171215220000L).UtcDateTime

Но ваша строка не выглядит как unix timestamp: в ней явно видно 2017 год, 12 месяц и 15 число, и ещё часовой пояс. Скорее всего, вам нужно это:

var s = "20171215220000 +0300";
var dto = DateTimeOffset.ParseExact(s, "yyyyMMddHHmmss zzz", CultureInfo.InvariantCulture);
var dt = dto.UtcDateTime;
READ ALSO
Приведение обобщенных типов

Приведение обобщенных типов

Есть задача приведения типов

223
Путь к файлу процесса c#

Путь к файлу процесса c#

Получаю список процессов

300
Unity3D Нужна помощь с игрой [требует правки]

Unity3D Нужна помощь с игрой [требует правки]

Всем привет! Вобщем, выпустил вчера первую игру в Play MarketЯ её скачал оттуда, запустил, нажал на кнопку Play и всё просто зависло

169
Подключение БД к форме [требует правки]

Подключение БД к форме [требует правки]

Как подключить БД Access к WindowsForm?

233