2010-12-10 60 views
4

我有一個jQuery UI日期選擇器,我期待本地化返回的日期,然後格式化爲 刪除前導零。jQuery UI datepicker - 我可以格式化已經本地化的日期嗎?

看來我可以做任何一個或其他。有沒有辦法來本地化和格式化它?

我的示例代碼:

// myDate = 01/25/2010 
// myLanguage = ""; //for US english, but could be any language 

$('#mytxtbox').datepicker($.datepicker.regional['<%= mylanguage %>']); 
$('#mytxtbox').datepicker({ dateFormat: 'm/d/yy' }); 

var dateToSet = $.datepicker.parseDate('m/d/yy', '<%= myDate %>');  
$('#mytxtbox').datepicker("setDate", dateToSet); 
在上面的例子被顯示在我的文本框中的日期爲「01/25/2010」

。 如果我註釋掉設置區域的行,格式化工作(即1/25/2010)。 在我看來,本地化覆蓋了我的「dateFormat」?可以做到兩者嗎?

請注意,我已經包括了所有適當的區域文件

回答

0

setDate接受Date對象是區域獨立的參數。

設置日期選擇器的當前日期。新日期可以是日期對象或當前日期格式的字符串(例如'01/26/2009'),距離今天的天數(例如+7)或者一串值和句點('y'表示年,'m'爲幾個月,'w'爲幾周,'d'爲天,例如'+ 1m + 7d'),或者爲null以清除選定的日期。

0

這聽起來像你的問題 JQuery datepicker language

+0

該主題討論缺少語言文件(jquery-ui-datepicker- [languageCode] .js)。 OP聲明情況並非如此 – 2011-08-22 14:40:09

0

我相信這是因爲你已經與國產化的唯一選擇初始化的日期選擇器。如果您不希望該區域是動態的或想要設置日期選擇器的初始狀態,請嘗試在一個options object中傳遞這兩個選項。

$("#mytxtbox") 
    .datepicker({ 
    dateFormat: 'm/d/yy', 
    $.datepicker.regional['<%= mylanguage %>'] 
    }); 

或者如果你希望它是動態的,做類似jQuery UI的example東西。

嘗試格式化日期先設置區域選項。

//original initialization 
$("#mytxtbox").datepicker({dateFormat: 'm/d/yy'}); 
//then set localize the date based on a change function 
$("ul.region").change({ 
$("mytxtbox").datepicker('option', $.datepicker.regional[$(this).val()]); 
}); 
+0

第一個選項導致語法無效。第二個不考慮格式 – 2011-08-22 14:40:54

1

我遇到了同樣的問題。我的解決辦法:(區域設置在陣列中,簡單地增加一些值)

var defaults = $.datepicker.regional['<%= mylanguage %>']; 
defaults['dateFormat'] = 'm/d/yy'; 
$("#mytxtbox").datepicker(defaults); 
0

如果你正在做一個區域beforeShow或任何其它功能像它,你可以像這樣在同一個:

$("#mytxtbox").datepicker({dateFormat: 'dd-mm-y'}, 
    $.datepicker.regional[ "ar" ], 
      { 
       beforeShow: function(input, inst) { 
        var widget = $(inst).datepicker('widget'); 
        widget.css('margin-left', $(input).outerWidth() - widget.outerWidth()); 
       } 
      }); 
0

也許爲時已晚,但是,正如我做了一些Google的研究,我來到這裏後,我發佈了我的解決方案。 我猜你有一個輸入型的日期選擇,如:

<input id="date" type="text" name="date"> 

如果您需要根據您的訪客,併爲進一步traitment預定義的日期格式設置區域設置語言,你可以啓動你的日期選擇如下:

 $(function() { 
      $('#date').datepicker(); 
    $('#date').datepicker("option",$.datepicker.regional["<<your_variable_locale>>"]); 
    $('#date').datepicker("option","dateFormat","dd/mm/yy"); 
}); 

它會改變英文默認格式,即mm/dd/yy。

關於如何結合區域和日期格式等選項,文檔還不是很清楚,但它適用於Firefox。

相關問題