Julia中的月份名称值?
我需要将文本日期的特殊格式转换为Julia中的日期。我在中找到了有关Julia中的月份名称值?,julia,Julia,我需要将文本日期的特殊格式转换为Julia中的日期。我在中找到了有关MONTHTOVALUE字典的信息,但是Dates命名空间中缺少此对象,在帮助中没有给出结果,仅显示在中。我使用Date.format()和格式设置“U”来定义我自己的MONTHTOVALUE: # Build dictionary from month names to integers MONTHTOVALUE = Dict{String, Integer}() for i in 1:12 month
MONTHTOVALUE
字典的信息,但是Dates
命名空间中缺少此对象,在帮助中没有给出结果,仅显示在中。我使用Date.format()
和格式设置“U”
来定义我自己的MONTHTOVALUE
:
# Build dictionary from month names to integers
MONTHTOVALUE = Dict{String, Integer}()
for i in 1:12
month = Dates.format(Date(1990, i, 1), "U")
MONTHTOVALUE[month] = i
end;
# Regular expression for date in the format [Month Year(Quarter)]
date_regex = r"(^[A-Z][a-z]*) ?(\d{4}) ?\((I*V?)\)";
function string_to_date(date_string)
month = MONTHTOVALUE[replace(date_string, date_regex, s"\1")]
year = parse(Int, replace(date_string, date_regex, s"\2"))
return Dates.Date(year, month, 1)
end;
@assert Dates.Date(1860, 10, 1) == string_to_date("October 1860(III)")
monhtovalue
字典已经存在,还是你建议一种更干净的方法?我没听说过朱莉娅,但这段话似乎很有意义:
通过u.S.NET还支持文本表单月解析
和U字符,用于缩写和完整的月份名称,
分别地默认情况下,只支持英文月份名称,因此
对应于“一月”、“二月”、“三月”等,U对应于
“一月”、“二月”、“三月”等类似于其他名称=>值
映射函数dayname()和monthname(),自定义区域设置可以
通过将locale=>Dict{String,Int}映射传递到
缩写和全名的MonthToValueAbber和MonthToValueDicts
月份名称
编辑:我想你可以把字典做成这样:
monthtovalue = Dict{UTF8String, Int}()
for (value, name) in VALUETOMONTH[locale::AbstractString="english"]
monthtovalue[lowercase(name)] = value
end
如果我正确理解了这个问题,您希望访问
日期
模块中的字典,该模块将月份名称映射到其编号(“三月”=>3等),是否正确
如果是这样,Dates.LOCALES[“english”]。month\u value
似乎就是您要查找的:
julia> Dates.LOCALES["english"].month_value
Dict{String,Int64} with 24 entries:
"January" => 1
"august" => 8
"May" => 5
"may" => 5
"December" => 12
"january" => 1
"August" => 8
"november" => 11
"december" => 12
"September" => 9
"july" => 7
"september" => 9
"October" => 10
"june" => 6
"November" => 11
"April" => 4
"February" => 2
"october" => 10
"March" => 3
"June" => 6
"april" => 4
"march" => 3
"february" => 2
"July" => 7
(如果需要,还有一个Dates.LOCALES[“english”]、month\u abbr\u值)
我猜部分文档已经过时,MONTHTOVALUE
以前是month\u value
dict的旧名字
还有函数Dates.monthname\u to\u value
,类似于Dates.monthname\u to\u value(“九月”,Dates.LOCALES[“英语])
,提供了一个与上述内容相关的界面。谢谢!是的,这是我在文档中读到的段落,但是我找不到MONTHTOVALUE
。您的代码给了我一个错误:UndefVarError:VALUETOMONTH not defined
。是的,我想访问将月份名称映射到数字的字典。我接受了答案。