формат даты и времени из json в C#

#javascript #c# #json #stripe-payments

#javascript #c# #json #stripe-платежи

Вопрос:

Я пытаюсь проанализировать данные json, отправленные из платежного шлюза stripe, и данные json имеют дату и время, закодированные в виде числа. Я попытался разобрать его в правильное .NET DateTime, но не преуспел.

Не могли бы вы, пожалуйста, сообщить мне, как это сделать?

Воспроизвел приведенный ниже json.

введите описание изображения здесь

Ответ №1:

В C # DateTimeOffset имеет FromUnixTimeSeconds :

 // converts to UTC DateTimeOffset
var dtOffset = DateTimeOffset.FromUnixTimeSeconds(1530291339); 

// if you need a DateTime you can
var dt = dtOffset.UtcDateTime;

// dtOffset.ToString() for example above:
// 6/29/2018 4:55:39 PM 
  

DateTimeOffset также имеет FromUnixTimeMilliseconds метод. Пожалуйста, смотрите DateTimeOffset для получения дополнительной информации.

Методы FromUnixTimeSeconds и FromUnixTimeMilliseconds преобразуют временную метку UNIX (начиная с 01/01/1070) в дату DateTimeOffset UTC.

Значение свойства Offset возвращаемого экземпляра DateTimeOffset равно TimeSpan.Zero, которое представляет всемирное координированное время.

Его можно преобразовать во время в определенном часовом поясе, вызвав TimeZoneInfo.Метод ConvertTime().

Ответ №2:

Это всего лишь временная метка. Просто проанализируйте дату, выполнив new Date(<timestamp>)

 const date = new Date().getTime();
console.log(date); // <-- your number

console.log(new Date(date)); // <-- convert the timestamp to a date  

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getTime

https://stripe.com/docs/api/skus/object?lang=dotnet#sku_object-created

Комментарии:

1. Привет, но я хотел, чтобы он преобразовывался в тип DateTime на C#

2. Вам пришлось бы выполнить преобразование вручную. Не похоже, что stripe предоставит это в каком-либо другом формате. Я думаю, что ответ @ haldo — это то, что вы ищете.