解析为YearMonth

时间:2015-11-13 16:49:34

标签: java java-time

我想将两个单独的字符串$('.ajaxSubmitBtn').on('click', function() { //grab values from editable table cells... var assessmentid = $.trim($(this).closest('tr').find('.ajaxSubmitBtn').val()); var source = $.trim($(this).closest('tr').find('.sourceTD').text()); var lname = $.trim($(this).closest('tr').find('.lnameTD').text()); var fname = $.trim($(this).closest('tr').find('.fnameTD').text()); var ssn = $.trim($(this).closest('tr').find('.ssnTD').text()); var assessdate = $.trim($(this).closest('tr').find('.assessdateTD').text()); var casehranum = $.trim($(this).closest('tr').find('.casehranumTD').text()); var dob = $.trim($(this).closest('tr').find('.dobTD').text()); //Put values in a JSON object... var JSONPacket = { "assessmentid":assessmentid, "source":source, "lname":lname, "fname":fname, "ssn":ssn, "assessdate":assessdate, "casehranum":casehranum, "dob":dob } //call cfc function via ajax using post() $.post("../../../cfc/starsImporter.cfc", {method: "updateAssessment", data: JSONPacket}, function(response) { console.log(response); }, "json"); }); "1982"解析为"SEP"个对象。

java.time.YearMonth

给了我

java.time.YearMonth.parse("1978 SEP", java.time.format.DateTimeFormatter.ofPattern("yyyy LLL"))

2 个答案:

答案 0 :(得分:8)

这里有3个(可能是2个)问题:

  • 您的语言环境不是英语,因此if UIImagePickerController.isSourceTypeAvailable(.Camera){ //Your code goes here //For example you can print available media types: print(UIImagePickerController.availableMediaTypesForSourceType(.Camera)) } 无法理解为9月。这可以通过将英语语言环境设置为格式化程序来解决。
  • "SEP"默认区分大小写,因此您需要构建不区分大小写的格式化程序。
  • 您不应该使用DateTimeFormatter令牌,而是使用"L":请参阅this question

以下内容可行:

"M"

答案 1 :(得分:0)

我试过你的代码,如果你看看java如何打印它使用的日期 本月第一个字母的大写字母(在我的执行中) 只需键入Sep而不是sep,并在字符串模式中使用MMM而不是LLL。

在使用字符串模式解析日期之前,请先查看它们在系统输出上的打印方式,然后相应地编写字符串模式。

此示例仅适用于locale english,在locale italian中字符串日期模式不同,因此如果您更改区域设置我建议您修改解析器

尝试{

            java.time.YearMonth.parse("1978 Sep", java.time.format.DateTimeFormatter.ofPattern("yyyy MMM" ));

        }

        catch(DateTimeParseException e)

        {

            e.printStackTrace();

        }

}