2016-10-03 77 views
0

是否有任何方法让kendo DataSource使用与选定文化定义不同的日期格式?Kendo UI数据源和文化日期格式

我有德语和英语的前端。但是我的数据源总是提供英文格式的日期,这导致了德文版本中的错误,因为数据源期望文化中定义的德文格式的日期。

可以在数据源模型的字段定义中定义格式吗?

更新:我的剑道调度的数据源看起来像这样:

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

您正在使用服务器端数据源还是本地数据源?你是在数据源中定义模型模式吗? – jorgonor

+0

我使用.json文件作为数据源,我的模型模式是在数据源中定义的。 – Andreas

+0

好的,那么请分享一个EventDate字段格式的例子。您是否使用MM/DD/YYYY美式英文格式或YYYY-MM-DD? – jorgonor

回答

1

您应该使用不依赖于您在UI中使用的区域性的服务器端格式。使用像您这样的英文格式实际上在服务器端使用时会引入类似于您所面对的问题,并且不适合API。

如果您在ISO 8601中返回日期,您可以确定该日期将在您的客户端正确解析。另外,如果您不介意时区,则可以使用YYYY-MM-DD HH:mm:ss格式,这也是计算的标准。

如果您无法更改要从中提取这些日期的文件,请查看this thread。看起来有一些使用模板+ kendo.parseDate的解决方法,但最好的解决方案是使用标准的文化独立日期格式。

+0

yyyy-MM-dd HH:mm:ss有效!谢谢! – Andreas