2009-08-06 11 views
1

jQuery tablesorter pluginを使用しています。私はそれが完全な形式で日付を動作させることができるか疑問に思う:jQueryテーブルワーカー月名ロケール

「2009年1月21日16時」

問題は時にその日付(文字列)でローカライズされたということですユーザーの現在のロケール

"GEN 21、2009 16時"

が、私は、各ロケールのカスタムソーターを記述する必要がありますか?

ありがとうございました。

<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

tablesorterが自動的にローカライズされた列を日付として検出したいのですか、列が日付列であることを指定してもよろしいですか?そして、単にtablesorterに並べ替えを実行させますか? – Stobor

+0

html>テーブルの一部を含めてください –

+0

Tablesorterは英語の文字列を完全な日付として認識します。もちろん私は他のロケールでもそれが起こりたいと思いますが、私はちょうど仕事が必要です。 –

答えて

1

まあ、Tablesorterプラグインは、2009' 年には日付列であるGEN 21」ことを検出しますそれは、それを解析するためにはJavaScript Dateコンストラクタに渡します;。それが失敗した段階であるかもしれない(I。コンストラクタは、ローカライズされた文字列を受け入れるかどうかを知りません。あなたはこれを実行していることをテストすることができます。

new Date("gen 21, 2009 16:00").getTime(); 

それは(それが私のEN-USのFirefox上で行うように)「はNaN」を返す場合、あなたが必要となります1232514000000が返された場合は、何もする必要はありません。

Tablesorterが検出します。別名

/^[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)))$/ 

:それはこの正規表現と一致する場合は、 "米国の長い日" として列

  • 3から10のアルファベット文字(月)
  • オプションの期間
  • スペースを
  • 1〜2桁(日)
  • カンマ、スペース
  • 4桁の年、またはアポストロフィとそれに続く2桁の年
  • オプションの24時間または12時間の後に大文字のAMまたはPMを付けます。
関連する問題