如何将日期字符串(例如“1 September 1899”)转换为“1899-09-01”

问题描述 投票:0回答:1

我想将“1 September 1899”等字符串转换为“1899-09-01”(“1 July 2020”转换为“2020--07-01”)。我该怎么做?

value.toString("dd/MM/YYYY") 这当然不起作用 和 date_parse_from_format(value,'M jS Y', $date_str) 也失败

发布的答案均无效。

date format openrefine grel
1个回答
0
投票

在 OpenRefine 中,像“1 September 1899”这样的值没有进一步的含义。但是您可以使用 toDate 将此文本转换为日期类型。然后,您可以使用日期中的某些组件(例如年、月……)通过 toString 函数形成一个新字符串。

下面的 GREL 表达式就可以做到这一点:

value.toDate("dd MMMM yyyy").toString("yyyy-MM-dd")

您还可以在

toDate
函数中使用多种格式将具有混合日期格式的列转换为通用格式。详细说明例如的含义
yyyy
可以在 SimpleDateFormat 类的文档中找到。

© www.soinside.com 2019 - 2024. All rights reserved.