如何在Javascript中解析非英语文本日期?

时间:2012-06-03 10:05:19

标签: javascript datetime

我的日期格式如下:

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

主要问题是这些文本实际上是俄文的,所以不是weeks ago而是俄语中的相同文本。同样是几个月(看起来我应该创建一些可能值的字典)。

我不知道如何开始。我应该使用正则表达式吗?还有别的吗?

1 个答案:

答案 0 :(得分: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 ”(请注意不同形式)。