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

标签 javascript datetime

我的日期格式如下:

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

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

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

最佳答案

不是俄语,而是波兰语:

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);

结果是:

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

我不懂俄语,但您可能需要做一些额外的语言工作。例如。在波兰语中,我有“1 tydzień”但是“2 tygodnie”甚至“5 tygodni”(注意不同的形式)。

关于javascript - 如何在 Javascript 中解析非英文文本日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10869409/

相关文章:

javascript - 'live'元素的解释

mysql - 将mysql中的时间更新为datetime

java - 在android中的自定义日期时间选择器中显示本地格式

python - TypeError : strptime() argument 1 must be str, 不是 datetime.date Python

javascript - 如何在谷歌图表中使用输入表单值

javascript - 使用 javascript 打开 Google Chrome 浏览器的新选项卡窗口时出现问题

javascript - 如何使用 POST 请求将动态获取的输入数据发送到服务器

javascript - 使用 Promise async/await 未定义

php - 选择所有年份的日期

python - 如何提高循环性能