我有一个包含日期字符串的数组。格式为" 2/27/16 3:47"所以" m-d-y H:M"。但是,DateTime将其解析为0016-27-02T03:47:00
。我希望输出为:2016-27-2T03:47:00
。
我的代码是:
map(date-> DateTime(date, "mm/dd/yy HH:MM"), datsub[:date])
附带问题:输出类型变为Any
。这是正确的类型还是DateTime
或类似的东西?
答案 0 :(得分:4)
正如@akrun所提到的,你应该自己添加年份:
Dates.Year(2000) + DateTime(date, "m/d/y H:M")
这更确切地说明了究竟发生了什么。否则,日期必须猜测像97这意味着什么:1997年或2097年,或实际年份[00] 97?
您可能想要在合适的年份提出合理的截止日期。您可以尝试以下方法:
expandyear(date::DateTime) = date + (Dates.year(date) < 25 ? Dates.Year(2000) : Dates.Year(1900))
你认为有意义的截止点。
带有map
的返回类型的问题是已知的问题,已在最新的v0.5 nightlies中修复。 Julia v0.5可能会在不久的将来发布,可能会在几个月内发布。