Источник данных пользовательского интерфейса Kendo и формат культурной даты

#javascript #datetime #kendo-ui #kendo-scheduler

#javascript #дата и время #kendo-ui #kendo-планировщик

Вопрос:

Есть ли какой-либо способ заставить источник данных kendo использовать формат даты, отличный от выбранного языка?

У меня есть интерфейс на немецком и английском языках. Но мой источник данных всегда предоставляет даты в английском формате, что приводит к ошибке в немецкой версии, поскольку источник данных ожидает дату в немецком формате, как определено в культуре.

Может ли a определить формат в определении поля модели источника данных?

Обновление: источник данных моего планировщика kendo выглядит так:

 dataSource: {
    transport: {
        read: {
            url: "dates.json",
            dataType: "json"
        }
    },
    schema: {
        model: {
            id: 'taskId',
            fields: {
                taskId: { type: "number", from: "ID" },
                ownerId: { type: "number", from: "Category" },
                title: { type: "string", from: "Title" },
                description: { type: "string", from: "Description" },
                Location: { type: "string" },
                start: { type: "date", from: "EventDate" },
                end: { type: "date", from: "EndDate" },
                isAllDay: { type: "boolean", from: "AllDayEvent" },
            }
        }
    }
},
  

Формат даты события в моем источнике данных: дд / ММ / гггг ЧЧ: мм.
Британская культура английского языка, которую я использую для своего интерфейса на английском языке, использует именно этот формат. В немецкой культуре используется дд.ММ.гггг ЧЧ: мм.

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

1. Вы используете серверный источник данных или локальный источник данных? Вы определяете схему модели в источнике данных?

2. Я использую файл .json в качестве источника данных, и моя схема модели определена в источнике данных.

3. Хорошо, тогда, пожалуйста, поделитесь примером формата поля EventDate. Вы используете формат ММ / ДД / ГГГГ на американском английском языке или ГГГГ-ММ-ДД?

4. отредактировал вопрос

Ответ №1:

Вы должны использовать формат на стороне сервера, который не зависит от культуры, которую вы используете в пользовательском интерфейсе. Использование английского формата, который вы фактически используете на стороне сервера, создает проблемы, подобные той, с которой вы столкнулись, и не подходит для API.

Если вы вернете дату в ISO 8601, вы можете быть уверены, что дата будет правильно проанализирована на стороне вашего клиента. Также, если вы не возражаете против часовых поясов, вы можете использовать формат ГГГГ-ММ-ДД ЧЧ: мм: сс, который также является стандартом в вычислениях.

Если вы не можете изменить файл, из которого вы извлекаете эти даты, посмотрите на эту тему . Кажется, есть некоторые обходные пути с использованием шаблонов kendo.parseDate, но хорошим решением является использование стандартного формата даты, не зависящего от культуры.