相关疑难解决方法(0)

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

为什么 SimpleDateFormat.parse 不会在这里抛出异常?

首先,请注意我在这里坚持使用 java6。

我正在尝试从可能采用不同格式的字符串中获取日期。出于某种原因,我没有得到 ParseException ,我希望有一个......

    import java.text.SimpleDateFormat;
    import java.util.Date;

    public class test1{

      public static void main(String argc[]){
          System.out.println(parseAllDateFormats(argc[0]));
    }

      private static final String[] dateFormats = "yyyyMMdd,yyyy/MM/dd,yyyy-MM-dd,dd/MM/yyyy,dd-MM-yyyy,dd-MMM-yyyy,yyyy MM dd".split(",");
      public static Date parseAllDateFormats(String date) {
          if (date == null)
              return null;
          for (int f = 0; f < dateFormats.length; f++) {
              String format = dateFormats[f];
              try {
                  SimpleDateFormat dateFormat = new SimpleDateFormat(format);
    System.out.println("trying " + format);                
                  return dateFormat.parse(date);
              }
              catch (Exception e) {}
          }
          return null;
      }

    }
Run Code Online (Sandbox Code Playgroud)

运行:java test1 1980-04-25 …

java simpledateformat

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

SimpleDateFormat和解析:解析不会因错误的输入字符串日期而失败

我正在使用

java.util.Date date;
SimpleDateFormat format = new SimpleDateFormat("dd/MM/yyyy");
try {
  date = sdf.parse(inputString);
} catch (ParseException e) {
  e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)

其中inputStringdd/MM/yyyy格式的字符串.

如果inputString是,例如,2013年2月40日,我将获得一个错误,而不是解析方法返回日期2013年3月12日(2013年3月12日).我错了什么?

java parsing date date-format simpledateformat

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