相关疑难解决方法(0)

JSR-310 - 解析具有可变长度的秒分数

有没有办法如何创建JSR-310格式化程序,能够用可变长度的秒分数解析以下日期/时间?

2015-05-07 13:20:22.276052
Run Code Online (Sandbox Code Playgroud)

要么

2015-05-07 13:20:22.276
Run Code Online (Sandbox Code Playgroud)

示例代码:

DateTimeFormatter formatter
= new java.time.format.DateTimeFormatterBuilder()
        .append( java.time.format.DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss") )
        .appendOptional( java.time.format.DateTimeFormatter.ofPattern(".SSSSSS") )
        .toFormatter();
formatter.parse("2015-05-07 13:20:22.276052", LocalDateTime::from);
Run Code Online (Sandbox Code Playgroud)

java java-time

27
推荐指数
1
解决办法
5342
查看次数

Java中的`DateTimeFormatter`格式化代码中的`uuuu`与`yyyy`?

DateTimeFormatter类文件说,有关当年的格式代码:

你在2004年; 04

y年的2004年; 04

...

年份:字母数决定了使用填充的最小字段宽度.如果字母数是2,则使用减少的两位数形式.对于打印,这将输出最右边的两位数字.对于解析,这将使用2000的基值进行解析,从而产生2000到2099(包括2000和2099)范围内的一年.如果字母数小于4(但不是2),则符号仅按负号年份输出,符合SignStyle.NORMAL.否则,如果超出了焊盘宽度,则根据SignStyle.EXCEEDS_PAD输出符号.

没有提到"时代".

那么究竟是什么这两个代码之间的差异,uy,yearyear-of-era

什么时候应该使用类似这种模式的东西uuuu-MM-dd以及何时yyyy-MM-dd使用Java中的日期?

似乎那些知道使用的代码编写的示例代码uuuu,但为什么呢?

其他格式化类如遗产SimpleDateFormat只有yyyy,所以我很困惑为什么java.time uuuu为"年代" 带来了这个.

datetime parsing date date-formatting java-time

26
推荐指数
3
解决办法
8163
查看次数

Java 8 DateTimeFormatter 解析远期 ISO 日期失败

我遇到了一个问题,DateTimeFormatter.ISO_DATE_TIME如果年份大于 9999,则无法解析日期。我正在寻找错误报告或了解我做错了什么。另外 -JodaTime解析适用于同一字符串。Java 版本 - 8。此测试失败:

    public void testParseFarInTheFuture()
    {
        String str = "10000-04-11T01:24:55.887-03:56";

        DateTimeFormatter.ISO_DATE_TIME.parse(str);
    }
Run Code Online (Sandbox Code Playgroud)

与 9999 年的测试相同。

我做错了什么还是有错误?

java java-time

3
推荐指数
1
解决办法
150
查看次数

标签 统计

java-time ×3

java ×2

date ×1

date-formatting ×1

datetime ×1

parsing ×1