相关疑难解决方法(0)

年代和周年之间的差异?

Java的8位的DateTimeFormatter类有一个方法,ofPattern(String pattern)即让您从一串定义的格式A-z,a-z信件.这些例子并没有明确的区别y,今年的时代Y,以星期为一年.它是什么?

Symbol  Meaning                     Presentation      Examples
------  -------                     ------------      -------
 y       year-of-era                 year              2004; 04
 Y       week-based-year             year              1996; 96
Run Code Online (Sandbox Code Playgroud)

java datetime date java-8 java-time

37
推荐指数
3
解决办法
7792
查看次数

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
查看次数

LocalDate.parse 是否默默地更正日期数字?

String s = "2020 Jun 31";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy MMM dd");
LocalDate date = LocalDate.parse(s, formatter);
System.out.println(date);
Run Code Online (Sandbox Code Playgroud)

输出:

2020-06-30

为什么 31 会变成 30 而没有任何警告或异常?

java date datetime-format localdate

4
推荐指数
1
解决办法
915
查看次数

使用Java 8和格式->'uuuu-MM-dd'将String转换为日期

我想使用Java 8从字符串转换为日期。

我可以轻松地使用SimpleDateFormat和进行yyyy-MM-dd格式转换

   String startDate2="2017-03-24";
   SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd");
   System.out.println(new java.sql.Date(sdf1.parse(startDate2).getTime()));
Run Code Online (Sandbox Code Playgroud)

输出: 2017-03-24

   String startDate2="2017-03-24";
   SimpleDateFormat sdf1 = new SimpleDateFormat("uuuu-MM-dd");
   System.out.println(new java.sql.Date(sdf1.parse(startDate2).getTime()));
Run Code Online (Sandbox Code Playgroud)

但是当我用'uuuu-MM-dd'代替'yyyy-MM-dd'

输出:( 1970-03-24错误)

现在在Java 8中

   String startDate1="2017-03-23";
   DateTimeFormatter formatter = DateTimeFormatter.ofPattern("uuuu-MM-dd");
Run Code Online (Sandbox Code Playgroud)

但是我不知道如何获取与上述正确输出相同的sql date类型的日期。

java java-8

2
推荐指数
1
解决办法
3976
查看次数