- 1.0.0
- 1.1.6
- 1.2.6
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.8
- 3.0.0
- 3.0.9
- 3.1.0
- 3.2.1
- 3.2.8
- 3.2.13
- 4.0.2
- 4.1.8
- 4.2.1
- 4.2.7
- 4.2.9
- 5.0.0.1 (0)
- 5.1.7 (0)
- 5.2.3 (38)
- 6.0.0 (0)
- 6.1.3.1 (0)
- 6.1.7.7 (0)
- 7.0.0 (0)
- 7.1.3.2 (0)
- 7.1.3.4 (0)
- What's this?
Parses a string formatted according to ISO 8601 Duration into the hash.
See ISO 8601 for more information.
This parser allows negative parts to be present in pattern.
Constants
TIME_COMPONENTS = [:hours, :minutes, :seconds]
DATE_COMPONENTS = [:years, :months, :days]
TIME_TO_PART = { "H" => :hours, "M" => :minutes, "S" => :seconds }
DATE_TO_PART = { "Y" => :years, "M" => :months, "W" => :weeks, "D" => :days }
TIME_COMPONENT = /(-?\d+(?:[.,]\d+)?)(H|M|S)/
DATE_COMPONENT = /(-?\d+(?:[.,]\d+)?)(Y|M|D|W)/
TIME_MARKER = /T/
DATE_MARKER = /P/
SIGN_MARKER = /\A-|\+|/
COMMA = ","
PERIOD = "."
PERIOD_OR_COMMA = /\.|,/
Attributes
[RW] | sign | |
[RW] | mode | |
[R] | scanner | |
[R] | parts |