使用jQuery tablesorter plugin。我想知道如何才能使用完整格式的日期:
“2009年1月21日16:00”
问题是当该日期(字符串)已使用用户当前区域设置进行本地化时
“gen 21,2009 16:00”
我是否必须为每个区域设置编写自定义排序器?
感谢。
<table id="orders" class="sortable">
<thead>
<tr>
<th>Da</th>
<th>Al</th>
<th class="right">Camere</th>
<th class="right">Spesa dell'ordine</th>
</tr>
</thead>
<tr>
<td>gen 21, 2009 22:00</td>
<td>gen 22, 2009 22:00</td>
<td class="right">1</td>
<td class="right">30.00€</td>
</tr>
答案 0 :(得分:1)
好吧,Tablesorter插件将检测到“gen 21,2009”是一个日期列。然后它会将它传递给javascript Date构造函数来解析它;这可能是失败的步骤。(我不知道如果构造函数接受本地化字符串;您可以通过运行此命令来测试:
new Date("gen 21, 2009 16:00").getTime();
如果它返回“NaN”(就像在我的en-US firefox上那样),那么你需要一个自定义解析器。如果它返回1232514000000,那么您不需要做任何事情。
如果匹配此正则表达式,Tablesorter会将列检测为“US long date”:
/^[A-Za-z]{3,10}\.? [0-9]{1,2}, ([0-9]{4}|'?[0-9]{2}) (([0-2]?[0-9]:[0-5][0-9])|([0-1]?[0-9]:[0-5][0-9]\s(AM|PM)))$/
a.k.a: