Method: OpenHAB::CoreExt::Java::LocalTime.parse

Defined in:
lib/openhab/core_ext/java/local_time.rb

.parse(string, formatter = nil) ⇒ LocalTime

Parses strings in the form “h[:mm] [am/pm]” when no formatter is given.

Parameters:

  • string (String)
  • formatter (java.time.format.DateTimeFormatter) (defaults to: nil)

    The formatter to use

Returns:



56
57
58
59
60
61
62
63
64
65
66
67
68
# File 'lib/openhab/core_ext/java/local_time.rb', line 56

def parse(string, formatter = nil)
  return raw_parse(string, formatter) if formatter

  format = /(am|pm)$/i.match?(string) ? "h[:mm[:ss][.S]][ ]a" : "H[:mm[:ss][.S]]"
  java_send(:parse,
            [java.lang.CharSequence, java.time.format.DateTimeFormatter],
            string,
            java.time.format.DateTimeFormatterBuilder.new
                                                     .parse_case_insensitive
                                                     .parse_lenient
                                                     .append_pattern(format)
                                                     .to_formatter(java.util.Locale::ENGLISH))
end