Как мой API может получать неправильно отформатированную временную метку ISO 8601?Android

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Как мой API может получать неправильно отформатированную временную метку ISO 8601?

Сообщение Anonymous »

У меня есть приложение iOS/Android, отправляющее данные в серверную часть Python.
В обоих приложениях пользователь выбирает дату и время из средства выбора, и они отправляются на сервер. :
Android:

Код: Выделить всё

SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
String formattedDate = simpleDateFormat.format(date);
URL url = new URL("https://example.com/api/test?distance=" + distance + "&date=" + formattedDate);
iOS:

Код: Выделить всё

let formatter = DateFormatter()
formatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"
let formattedDate = formatter.string(from: date)
let url = URL(string: "https://example.com/api/test?distance=\(distance)&date=\(formattedDate)")!
На сервере это интерпретируется следующим образом:

Код: Выделить всё

date = request.GET.get('date', None)
if date:
journey_date = datetime.fromisoformat(date)
Только что произошла странная ошибка: сервер получает дату в неожиданном формате:

Код: Выделить всё

ValueError at /api/test/
Invalid isoformat string: '2024-05-20T3:38:12.711\u202fPMZ'
В основном время выглядит в формате AM/PM, а не в 24-часовом формате.
Во всех тестах, которые я проводил до сих пор, Я никогда не сталкивался с этим. Предполагая, что пользователь не отправлял ручной запрос конечной точке (например, через Postman) и только что использовал пользовательский интерфейс приложения, как можно получить дату в этом формате, если указанный формат был гггг-ММ-дд'Т' ЧЧ:мм:сс.ССС'Z'?

Подробнее здесь: https://stackoverflow.com/questions/785 ... -timestamp
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как мой API может получать неправильно отформатированную временную метку ISO 8601?
    Anonymous » » в форуме IOS
    0 Ответы
    49 Просмотры
    Последнее сообщение Anonymous
  • ISO Time (ISO 8601) в Python
    Anonymous » » в форуме Python
    0 Ответы
    4 Просмотры
    Последнее сообщение Anonymous
  • ISO Time (ISO 8601) в Python
    Anonymous » » в форуме Python
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous
  • Разобрать неправильно отформатированную строку запроса URL-адреса, в которой отсутствует [] на наличие повторяющихся клю
    Anonymous » » в форуме Php
    0 Ответы
    25 Просмотры
    Последнее сообщение Anonymous
  • Учитывая объект DateTime, как мне получить дату ISO 8601 в строковом формате?
    Anonymous » » в форуме C#
    0 Ответы
    29 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Android»