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

我需要将文本日期的特殊格式转换为Julia中的日期。我在中找到了有关
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
。是的,我想访问将月份名称映射到数字的字典。我接受了答案。