我正在嘗試在 Ruby 中使用 Date.parse 方法,但是當我嘗試決議早期歷史日期時,它回傳了奇怪的結果。例如:
Date.parse("16 January 27 BC")
=> #<Date: -0026-01-16 >
這會回傳正確的年份(雖然它是 -26 而不是 -27,但我認為這是正常的)。
但是當我嘗試時:
Date.parse("19 august 1 BC")
=> #<Date: 2000-08-19 >
這里假設 2000 年作為開始日期。以后幾年也一樣:
Date.parse("19 August 14")
=> #<Date: 2014-08-19 >
yearninetynine = Date.parse("19 august AD 99")
=> #<Date: 1999-08-19 >
(我也嘗試用“CE”替換 AD,但這沒有區別)
100 年是它再次開始正常作業的地方:
Date.parse("19 august AD 100")
=> #<Date: 0100-08-19 >
總而言之:直到 100 年,它都無法正確決議并將其視為 1990 年代和 2000 年代發生的年份,負年份比您直觀預期的少一年,接近 0 的負年份也無法正確決議。
我嘗試了其他一些方法,例如 start=Date::ITALY,但這些似乎沒有什么區別。有沒有辦法讓它正確決議這些年?
uj5u.com熱心網友回復:
根據檔案,這正是第二個引數的用途。
Date.parse("19 august 99") #=> Thu, 19 Aug 1999
Date.parse("19 august 99", false) #=> Mon, 19 Aug 0099
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/489088.html
上一篇:如何使用廚師食譜創建多個檔案?
