2013-02-21 63 views
1

JQGrid支持多种语言。这还包括日期。我格式化了大部分日期,但在保加利亚日期面临问题。因为他们有日期和时间像21.12.2001 r 18:12:30你。现在,我正面临着在显示日期获取该r和u的问题。韩国也是如此。如何在JQGrid中格式化文化日期?

输入格式是'ISO8601Long',所以我需要JQGrid中的newformat,它允许额外的r和u。否则我正在获取格式。

我在显示网格数据时遇到问题。它不是编辑模式。

请让我知道是否需要任何进一步的细节。您可以查看保加利亚文化here的详细信息。

+0

你有问题的jqGrid或jQuery UI的显示日期/日期。例如'21.12.2001 r 18:12:30 u''包含日期而不是日期。 jQuery UI Datepicker仅支持**没有时间的日期**。你能更准确地描述问题吗?你想显示或编辑日期/日期?日期的源格式是什么?你使用本地datetype从服务器获取数据(例如'datetype:“json”')? – Oleg 2013-02-21 07:39:07

+0

@Oleg我们有JQGrid的日期和时间,只有JQueryUI日期选择器中的日期。 日期的当前输入格式为ISO long。 – kunjee 2013-02-21 07:48:12

+0

**你想显示或编辑日期/日期?**我仍然不明白哪个关系具有JQueryUI datepicker如何显示日期时间的问题。 – Oleg 2013-02-21 07:50:03

回答

1

你可以做的是使用Globalize jQuery plugin。我从the answer修改了演示。 The demo演示您的需求的一个可能的实施。

enter image description here

我用下面的

formatter: function (cellvalue) { 
    // we don't use time zones information in the code below 
    var dMatch = cellvalue.match(new RegExp("([0-9]{4})(-([0-9]{2})(-([0-9]{2})" + 
      "(T([0-9]{2}):([0-9]{2})(:([0-9]{2})(.([0-9]+))?)?" + 
      "(Z|(([-+])([0-9]{2}):([0-9]{2})))?)?)?)?")), 
     date = new Date(
      Number(dMatch[1] || 0), // year 
      Number(dMatch[3] || 0)-1, // month 
      Number(dMatch[5] || 0), // day 
      Number(dMatch[7] || 0), // hours 
      Number(dMatch[8] || 0), // minutes 
      Number(dMatch[10] || 0), // seconds 
      Number(dMatch[12] || 0) 
     ); // milliseconds 

    return Globalize.format(date, "F"); 
}, 
unformat: function (v) { 
    return Globalize.parseDate(v); 
} 
+0

男子...非常感谢...帽子给你.. – kunjee 2013-02-22 00:58:30

+0

@ kunjee:不客气! – Oleg 2013-02-22 05:55:06