#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 — это то, что вы ищете.