dm3/clojure.java-time

parse date time string error with local-date-time

stardiviner opened this issue · 1 comments

I use (local-date-time "yyyy-MM-dd hh:mm:ss" "2018-02-01 12:11:05") got error:

3. Unhandled clojure.lang.ExceptionInfo
   Conversion failed
   {:path
    [[#object[java_time.graph.Types 0x4d2611bc "[java.lang.String java.lang.String]"]
      #object[java_time.graph.Types 0xc16795a "[java.time.format.DateTimeFormatter java.lang.String]"]]
     [#object[java_time.graph.Types 0x58001640 "[java.time.format.DateTimeFormatter java.lang.CharSequence]"]
      #object[java_time.graph.Types 0x278849cc "[java.time.LocalDateTime]"]]],
    :arguments ["yyyy-MM-dd hh:mm:ss" "2018-02-01 12:11:05"],
    :to java.time.LocalDateTime}

                  core.clj: 4739  clojure.core/ex-info
                  core.clj: 4739  clojure.core/ex-info
                 local.clj:   52  java-time.local/local-date-time/fn
                 local.clj:   52  java-time.local/local-date-time
                 local.clj:   52  java-time.local/local-date-time
ea6dd32106c6cb9fe1eafbc1aa3a2b9e168e9e25-init.clj:    1  user/eval37656
ea6dd32106c6cb9fe1eafbc1aa3a2b9e168e9e25-init.clj:    1  user/eval37656
             Compiler.java: 7062  clojure.lang.Compiler/eval
             Compiler.java: 7025  clojure.lang.Compiler/eval
                  core.clj: 3206  clojure.core/eval
                  core.clj: 3202  clojure.core/eval
                  main.clj:  243  clojure.main/repl/read-eval-print/fn
                  main.clj:  243  clojure.main/repl/read-eval-print
                  main.clj:  261  clojure.main/repl/fn
                  main.clj:  261  clojure.main/repl
                  main.clj:  177  clojure.main/repl
               RestFn.java:  137  clojure.lang.RestFn/applyTo
                  core.clj:  657  clojure.core/apply
                  core.clj:  652  clojure.core/apply
                regrow.clj:   18  refactor-nrepl.ns.slam.hound.regrow/wrap-clojure-repl/fn
               RestFn.java: 1523  clojure.lang.RestFn/invoke
    interruptible_eval.clj:   87  clojure.tools.nrepl.middleware.interruptible-eval/evaluate/fn
                  AFn.java:  152  clojure.lang.AFn/applyToHelper
                  AFn.java:  144  clojure.lang.AFn/applyTo
                  core.clj:  657  clojure.core/apply
                  core.clj: 1965  clojure.core/with-bindings*
                  core.clj: 1965  clojure.core/with-bindings*
               RestFn.java:  425  clojure.lang.RestFn/invoke
    interruptible_eval.clj:   85  clojure.tools.nrepl.middleware.interruptible-eval/evaluate
    interruptible_eval.clj:   55  clojure.tools.nrepl.middleware.interruptible-eval/evaluate
    interruptible_eval.clj:  222  clojure.tools.nrepl.middleware.interruptible-eval/interruptible-eval/fn/fn
    interruptible_eval.clj:  190  clojure.tools.nrepl.middleware.interruptible-eval/run-next/fn
                  AFn.java:   22  clojure.lang.AFn/run
   ThreadPoolExecutor.java: 1149  java.util.concurrent.ThreadPoolExecutor/runWorker
   ThreadPoolExecutor.java:  624  java.util.concurrent.ThreadPoolExecutor$Worker/run
               Thread.java:  748  java.lang.Thread/run

2. Caused by java.time.DateTimeException
   Unable to obtain LocalDateTime from TemporalAccessor: {MilliOfSecond=0,
   SecondOfMinute=5, NanoOfSecond=0, MicroOfSecond=0, HourOfAmPm=0, MinuteOfHour=11},ISO
   resolved to 2018-02-01 of type java.time.format.Parsed

        LocalDateTime.java:  461  java.time.LocalDateTime/from
                 local.clj:  138  java-time.local/eval35661/fn
                  AFn.java:  156  clojure.lang.AFn/applyToHelper
                  AFn.java:  144  clojure.lang.AFn/applyTo
                  core.clj:  657  clojure.core/apply
                  core.clj:  652  clojure.core/apply
         defconversion.clj:   28  java-time.defconversion/combinations/iter/fn/fn/fn
               RestFn.java:  137  clojure.lang.RestFn/applyTo
                  core.clj:  657  clojure.core/apply
                  core.clj:  652  clojure.core/apply
         defconversion.clj:   21  java-time.defconversion/wrap-validation/fn
                 graph.clj:  310  java-time.graph/convert-via/fn/fn
PersistentUnrolledVector.java:  482  clojure.lang.PersistentUnrolledVector$Card2/reduce
                  core.clj: 6747  clojure.core/reduce
                  core.clj: 6730  clojure.core/reduce
                 graph.clj:  310  java-time.graph/convert-via/fn
                 local.clj:   52  java-time.local/local-date-time/fn
                 local.clj:   52  java-time.local/local-date-time
                 local.clj:   52  java-time.local/local-date-time
ea6dd32106c6cb9fe1eafbc1aa3a2b9e168e9e25-init.clj:    1  user/eval37656
ea6dd32106c6cb9fe1eafbc1aa3a2b9e168e9e25-init.clj:    1  user/eval37656
             Compiler.java: 7062  clojure.lang.Compiler/eval
             Compiler.java: 7025  clojure.lang.Compiler/eval
                  core.clj: 3206  clojure.core/eval
                  core.clj: 3202  clojure.core/eval
                  main.clj:  243  clojure.main/repl/read-eval-print/fn
                  main.clj:  243  clojure.main/repl/read-eval-print
                  main.clj:  261  clojure.main/repl/fn
                  main.clj:  261  clojure.main/repl
                  main.clj:  177  clojure.main/repl
               RestFn.java:  137  clojure.lang.RestFn/applyTo
                  core.clj:  657  clojure.core/apply
                  core.clj:  652  clojure.core/apply
                regrow.clj:   18  refactor-nrepl.ns.slam.hound.regrow/wrap-clojure-repl/fn
               RestFn.java: 1523  clojure.lang.RestFn/invoke
    interruptible_eval.clj:   87  clojure.tools.nrepl.middleware.interruptible-eval/evaluate/fn
                  AFn.java:  152  clojure.lang.AFn/applyToHelper
                  AFn.java:  144  clojure.lang.AFn/applyTo
                  core.clj:  657  clojure.core/apply
                  core.clj: 1965  clojure.core/with-bindings*
                  core.clj: 1965  clojure.core/with-bindings*
               RestFn.java:  425  clojure.lang.RestFn/invoke
    interruptible_eval.clj:   85  clojure.tools.nrepl.middleware.interruptible-eval/evaluate
    interruptible_eval.clj:   55  clojure.tools.nrepl.middleware.interruptible-eval/evaluate
    interruptible_eval.clj:  222  clojure.tools.nrepl.middleware.interruptible-eval/interruptible-eval/fn/fn
    interruptible_eval.clj:  190  clojure.tools.nrepl.middleware.interruptible-eval/run-next/fn
                  AFn.java:   22  clojure.lang.AFn/run
   ThreadPoolExecutor.java: 1149  java.util.concurrent.ThreadPoolExecutor/runWorker
   ThreadPoolExecutor.java:  624  java.util.concurrent.ThreadPoolExecutor$Worker/run
               Thread.java:  748  java.lang.Thread/run

1. Caused by java.time.DateTimeException
   Unable to obtain LocalTime from TemporalAccessor: {MilliOfSecond=0, SecondOfMinute=5,
   NanoOfSecond=0, MicroOfSecond=0, HourOfAmPm=0, MinuteOfHour=11},ISO resolved to
   2018-02-01 of type java.time.format.Parsed

            LocalTime.java:  409  java.time.LocalTime/from
        LocalDateTime.java:  457  java.time.LocalDateTime/from
                 local.clj:  138  java-time.local/eval35661/fn
                  AFn.java:  156  clojure.lang.AFn/applyToHelper
                  AFn.java:  144  clojure.lang.AFn/applyTo
                  core.clj:  657  clojure.core/apply
                  core.clj:  652  clojure.core/apply
         defconversion.clj:   28  java-time.defconversion/combinations/iter/fn/fn/fn
               RestFn.java:  137  clojure.lang.RestFn/applyTo
                  core.clj:  657  clojure.core/apply
                  core.clj:  652  clojure.core/apply
         defconversion.clj:   21  java-time.defconversion/wrap-validation/fn
                 graph.clj:  310  java-time.graph/convert-via/fn/fn
PersistentUnrolledVector.java:  482  clojure.lang.PersistentUnrolledVector$Card2/reduce
                  core.clj: 6747  clojure.core/reduce
                  core.clj: 6730  clojure.core/reduce
                 graph.clj:  310  java-time.graph/convert-via/fn
                 local.clj:   52  java-time.local/local-date-time/fn
                 local.clj:   52  java-time.local/local-date-time
                 local.clj:   52  java-time.local/local-date-time
ea6dd32106c6cb9fe1eafbc1aa3a2b9e168e9e25-init.clj:    1  user/eval37656
ea6dd32106c6cb9fe1eafbc1aa3a2b9e168e9e25-init.clj:    1  user/eval37656
             Compiler.java: 7062  clojure.lang.Compiler/eval
             Compiler.java: 7025  clojure.lang.Compiler/eval
                  core.clj: 3206  clojure.core/eval
                  core.clj: 3202  clojure.core/eval
                  main.clj:  243  clojure.main/repl/read-eval-print/fn
                  main.clj:  243  clojure.main/repl/read-eval-print
                  main.clj:  261  clojure.main/repl/fn
                  main.clj:  261  clojure.main/repl
                  main.clj:  177  clojure.main/repl
               RestFn.java:  137  clojure.lang.RestFn/applyTo
                  core.clj:  657  clojure.core/apply
                  core.clj:  652  clojure.core/apply
                regrow.clj:   18  refactor-nrepl.ns.slam.hound.regrow/wrap-clojure-repl/fn
               RestFn.java: 1523  clojure.lang.RestFn/invoke
    interruptible_eval.clj:   87  clojure.tools.nrepl.middleware.interruptible-eval/evaluate/fn
                  AFn.java:  152  clojure.lang.AFn/applyToHelper
                  AFn.java:  144  clojure.lang.AFn/applyTo
                  core.clj:  657  clojure.core/apply
                  core.clj: 1965  clojure.core/with-bindings*
                  core.clj: 1965  clojure.core/with-bindings*
               RestFn.java:  425  clojure.lang.RestFn/invoke
    interruptible_eval.clj:   85  clojure.tools.nrepl.middleware.interruptible-eval/evaluate
    interruptible_eval.clj:   55  clojure.tools.nrepl.middleware.interruptible-eval/evaluate
    interruptible_eval.clj:  222  clojure.tools.nrepl.middleware.interruptible-eval/interruptible-eval/fn/fn
    interruptible_eval.clj:  190  clojure.tools.nrepl.middleware.interruptible-eval/run-next/fn
                  AFn.java:   22  clojure.lang.AFn/run
   ThreadPoolExecutor.java: 1149  java.util.concurrent.ThreadPoolExecutor/runWorker
   ThreadPoolExecutor.java:  624  java.util.concurrent.ThreadPoolExecutor$Worker/run
               Thread.java:  748  java.lang.Thread/run

Fixed, use (java-time/local-date-time "yyyy-MM-dd HH:mm" %).