gpt4 book ai didi

Bash/Date/法语本地环境

转载 作者:行者123 更新时间:2023-12-04 09:59:14 24 4
gpt4 key购买 nike

我需要检索日期的月份 (dd.month.year) 并将其转换为数字 YYYY-MM

来源月份是法语,所以我尝试:


# date --date="$(printf "01 %s" "January 2020")" +"%Y-%m"
2020-01

# LC_TIME=fr_FR date --date="$(printf "01 %s" "Janvier 2020")" +"%Y-%m"
date: invalid date '01 Janvier 2020'

# LANG=fr_FR date --date="$(printf "01 %s" "Janvier 2020")" +"%Y-%m"
date: invalid date '01 Janvier 2020'

当我用英语使用月份时它有效。
但是对于法语月份,即使通过强制语言或本地环境参数,它也无法正确识别月份。

即使只有日期,它仍然在我们心中宣告:

# LANG=fr_FR date
Sun May 17 23:45:40 CEST 2020

# LC_TIME=fr_FR date
Sun May 17 23:45:48 CEST 2020

# date
Sun 17 May 2020 11:45:53 PM CEST

有什么想法吗?

info :
Operating System: Debian GNU/Linux 10 (buster)
Kernel: Linux 4.19.0-8-amd64
Architecture: x86-64

最佳答案

尽管 date 完成的解析有时非常灵活且令人惊叹,但它不处理本地化(herethe array is static here)。您必须自己构建一个翻译数组,将 Janvier 翻译成 January,然后将结果传递给 date

为此使用关联的 bash 数组将很容易:

arr=([Janvier]=January etc)
echo "${arr[Janvier]}"

关于Bash/Date/法语本地环境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61866730/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com