非法模式角色' O'在SimpleDateFormatter中

时间:2016-03-14 20:09:49

标签: java simpledateformat

我正在

  

java.lang.IllegalArgumentException:非法模式字符' O'   java.text.SimpleDateFormat.compile(SimpleDateFormat.java:845)

执行此代码时:

DateFormat format = new SimpleDateFormat("DD-MON-YY");

我该如何解决这个问题?

4 个答案:

答案 0 :(得分:3)

"DD-MON-YY"不是有效的日期格式。尝试:

new SimpleDateFormat("dd-MMM-yy")

有关有效格式的详情,请参阅the documentation

答案 1 :(得分:1)

您的日志是自我解释的,

pageObject.page.pageInfo = predefinedObject

阅读第一行本身。 SimplDateFormat接受模式以下是一些例子。

java.lang.IllegalArgumentException: Illegal pattern character 'O'
java.text.SimpleDateFormat.compile(SimpleDateFormat.java:845)
java.text.SimpleDateFormat.initialize(SimpleDateFormat.java:659)

参考 - https://examples.javacodegeeks.com/core-java/text/java-dateformat-example/

答案 2 :(得分:0)

您没有提供正确的日期格式。例如,你可以这样做:

$(document).ready(function() {
  $('.new-checkbox input[type=checkbox]').on("change", function() {
    var checked = this.checked,
      $li = $(this).parent();
    $li.find('input[type=checkbox]').prop('checked', checked).parent().toggleClass('has-checked', checked);

    $li.parentsUntil('.new-checkbox', 'li').each(function() {
      var $checks = $(this).find('ul input[type=checkbox]');
      $(this).children('input[type=checkbox]').prop('checked', !$checks.filter(':not(:checked)').length);

      $(this).toggleClass('has-checked', $checks.is(':checked'));
    });

  });


});

但不是

new SimpleDateFormat("dd-MMM-yy")

答案 3 :(得分:0)

此错误是由于SimpleDateFormat不完全支持Oracle日期和时间格式说明符。您应该更改此模式,或者找到一种方法(实现一个函数)将其转换为SimpleDateFormat支持的模式。