在基数R中,我们可以轻松访问包含日历月份名称month.names
的数组和包含日历月份缩写month.abb
的数组:
> month.name
# [1] "January" "February" "March" "April" "May" "June"
# [7] "July" "August" "September" "October" "November" "December"
> month.abb
# [1] "Jan" "Feb" "Mar" "Apr" "May" "Jun" "Jul" "Aug" "Sep" "Oct" "Nov" "Dec"
类似地,在Python中,标准库calendar
模块中有两个类似数组的对象:
>>> from calendar import month_name, month_abbr
>>> list(month_name)
# ['', 'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']
>>> list(month_abbr)
# ['', 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
Julia在标准库Dates
模块或第三方软件包中是否具有类似的月份名称数组?
答案 0 :(得分:4)
@hckr提供了一个很好的答案,说明这些东西在内部当前的存储位置。但是,LOCALES
不会导出Dates
,因此我们应尽量避免使用模块中未导出的对象。在这种情况下,您可以使用(导出的)函数monthname
检索月份名称:
julia> monthname.(1:12)
12-element Array{String,1}:
"January"
"February"
"March"
"April"
"May"
"June"
"July"
"August"
"September"
"October"
"November"
"December"
答案 1 :(得分:1)
编辑:请参阅@Colin T Bowers的正确答案。您应该使用monthname
,monthabbr
,dayname
,dayabbr
函数来检索这些名称和缩写,例如dayabbr.(1:7)
或dayabbr(2)
。这些函数还可以使用locale
参数来提供其他语言/语言环境的名称/缩写。我的答案已经变成关于当前内部存储的内容。
有。它们存储在Dict
中以提供可用的语言环境(默认情况下仅英语,但您可以添加其他语言)。您可以使用Dates.LOCALES["english"]
来访问它们。这将为您提供以下格式的struct
。
struct DateLocale
months::Vector{String}
months_abbr::Vector{String}
days_of_week::Vector{String}
days_of_week_abbr::Vector{String}
month_value::Dict{String, Int}
month_abbr_value::Dict{String, Int}
day_of_week_value::Dict{String, Int}
day_of_week_abbr_value::Dict{String, Int}
end
因此,Dates.LOCALES["english"].months_abbr
将以字符串的形式为您提供英文月份的缩写。您还可以获取星期几及其缩写。您还可以使用DateLocale
构造函数向此字典添加其他语言环境。
在Dates.LOCALES['localename']
语言环境中解析日期时,也会使用localename
中的信息。
https://docs.julialang.org/en/v1/stdlib/Dates/index.html#Query-Functions-1