2012-06-03 69 views
3

我有日期,如文本格式:如何在Javascript中解析非英文文本日期?

6 weeks ago, 2012 April 18 15:08:18 
13 weeks ago, 2012 March 01 17:33:52 

的主要問題是,這個文本是真正的俄羅斯,所以不是weeks ago有俄羅斯相同的文本。同樣是幾個月(看起來我應該創建一些可能的值的字典)。

我不知道該如何開始。我應該使用正則表達式嗎?還有別的嗎?

回答

2

不是俄羅斯,而是波蘭:

var dateStr = "6 tygodni temu, 2012 kwiecień 18 15:08:18" 

Firefox已經在提取Unicode字符(快速&骯髒的正則表達式)沒有問題:

var regex = /(\d+) ty.* temu, (\d+) (.*) (\d+) (\d{2}):(\d{2}):(\d{2})/ 

解析:

var result = dateStr.match(regex); 

result是:

[ 
    "6 tygodni temu, 2012 kwiecień 18 15:08:18", 
    "6", 
    "2012", 
    "kwiecień", 
    "18", 
    "15", 
    "08", 
    "18" 
] 

我不認識俄羅斯人,但你可能需要做一些額外的語言工作。例如。在波蘭我有「1tydzień」,但「2 tygodnie」,甚至「5 tygodni」(介意不同的形式)。

+0

謝謝!我創建了俄羅斯月份名稱數組,首先將其替換爲字符串,然後用正則表達式進行分析。 –