有没有办法让kendo DataSource使用与所选文化定义的日期格式不同的日期格式?
我有德语和英语前端。但我的数据源总是以英文格式提供日期,这导致德语版本出错,因为数据源需要文化中定义的德语格式的日期。
可以在数据源模型的字段定义中定义格式吗?
更新:我的剑道调度程序的数据源如下所示:
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" },
}
}
}
},
我的数据源中事件日期的格式为:dd / MM / yyyy HH:mm。 我用于英语前端的英国英语文化恰好采用了这种格式。德国文化使用dd.MM.yyyy HH:mm。
答案 0 :(得分:1)
您应该使用不依赖于您在UI中使用的文化的服务器端格式。使用像服务器端实际使用的英文格式会引入类似于您所面临的问题而且不支持API。
如果您在ISO 8601中返回日期,则可以确保在客户端正确解析日期。此外,如果您不介意时区,可以使用YYYY-MM-DD HH:mm:ss格式,这也是计算的标准。
如果您无法更改要从中获取这些日期的文件,请查看this thread。似乎有一些使用模板+ kendo.parseDate的变通方法,但好的解决方案是使用标准的独立于文化的日期格式。