Английский формат времени в кендо-планировщик
Я использую планировщик Kendo на моем веб-сайте ASP.NET MVC5.
Основываясь на культурных настройках браузера и компьютера, я меняю язык элементов управления с Kendo (с файлами kendo-culture-js)
Когда я хочу изменить язык планировщика на "английский" ("en"), формат времени очень странный.
На изображении ниже вы можете увидеть это. Вместо AM и PM:
- В левом столбце с указанным временем отображается "A2" или "P2".
- В форме добавления он использует "AM" и "PM". Так, как это должно быть...
- Когда я сохраняю событие, время в событии показывает "A7" или "P7".
Примечание: я голландец, поэтому понятия не имею, имеют ли эти вещи смысл.
Форма добавления заполняет мою "событийную" модель на моем ASP.NET-сайте. Когда я проверяю значения в моей модели, он показывает "AM" и "PM". Так, как это должно быть...
Кто-нибудь знает, почему он показывает "А2","Р2","А7","Р7"?
Заранее спасибо!
2 ответа
Из комментария:
startTime.toLocaleTimeString('en')
Который откатится к en-US и будет использовать строку формата MM/dd/yyyy hh:mm tt
, Это будет отображаться как что-то вроде 07/15/2015 02:05 pm
,
Однако на клиентской стороне, похоже, это передается в функцию форматирования даты Kendo, для которой все символы, кроме одного, рассматриваются как литерал. Но m
минута без нуля, поэтому заменяется.
Либо делайте все на стороне сервера форматирования, либо на стороне клиента. Выполнение небольшого и того и другого создаст такие проблемы. К сожалению, из-за ограниченной обработки дат в JavaScript и ограничений Kendo это трудно сделать правильно.
Я отформатировал дату так:
kendo.toString(start, start.toLocaleTimeString('en'))
Но это должно быть:
kendo.toString(start.toLocaleTimeString('en'))