Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何解析这个特定的日期数据?_Java_Date_Simpledateformat - Fatal编程技术网

Java 如何解析这个特定的日期数据?

Java 如何解析这个特定的日期数据?,java,date,simpledateformat,Java,Date,Simpledateformat,我有一个csv文件和此表单: 我不是来解析这种类型的数据的。 我尝试用一个简单的例子,但它不起作用。然而,我认为我的SimpleDataFormat是正确的 Date date = null; String date1 ="22 févr. 17, 17:11"; SimpleDateFormat formater = null; formater = new SimpleDateFormat("dd MMM YY , hh:mm "); try {

我有一个csv文件和此表单:

我不是来解析这种类型的数据的。 我尝试用一个简单的例子,但它不起作用。然而,我认为我的SimpleDataFormat是正确的

 Date date = null;
 String date1 ="22 févr. 17, 17:11";

     SimpleDateFormat formater = null;
     formater = new SimpleDateFormat("dd MMM YY , hh:mm ");
      try {
          date = formater.parse(date1);
    } catch (ParseException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
避免遗留日期时间类 您正在使用可怕的日期时间类,这些类在几年前被JSR310中定义的现代java.time类所取代

java.time 仅使用java.time包中的类。对于具有一天中的时间但缺少时区上下文或UTC偏移量的日期,这将是
LocalDateTime

指定
地区
,以确定翻译中使用的人类语言,以及确定缩写、标点符号、大写、部分顺序等问题时使用的文化规范

String input = "1 mars 17, 20:21" ;
DateTimeFormatter f = 
        DateTimeFormatter
        .ofPattern( "d MMM uu, HH:mm" )
        .withLocale( Locale.CANADA_FRENCH ) ;
LocalDateTime ldt = LocalDateTime.parse( input , f ) ;
Javadoc中解释了这些格式代码。仔细研究。区分大小写

避免遗留日期时间类 您正在使用可怕的日期时间类,这些类在几年前被JSR310中定义的现代java.time类所取代

java.time 仅使用java.time包中的类。对于具有一天中的时间但缺少时区上下文或UTC偏移量的日期,这将是
LocalDateTime

指定
地区
,以确定翻译中使用的人类语言,以及确定缩写、标点符号、大写、部分顺序等问题时使用的文化规范

String input = "1 mars 17, 20:21" ;
DateTimeFormatter f = 
        DateTimeFormatter
        .ofPattern( "d MMM uu, HH:mm" )
        .withLocale( Locale.CANADA_FRENCH ) ;
LocalDateTime ldt = LocalDateTime.parse( input , f ) ;

Javadoc中解释了这些格式代码。仔细研究。区分大小写

YY和mm后面有一个空格。那不行。另外,使用
yy
,而不是
yy
——这是一种不同的年份。谢谢弗雷德里克!它现在可以用于我的简单示例,但不能用于我的csv表单,事实上,java返回给我这个问题:无法解析的日期:“19 f�vr.18,09:05“我如何修复UTF-8编码?这是另一个问题。不,这不总是有效的。为什么不呢?基本上是因为
SimpleDateFormat
非常混乱和麻烦。我建议您不要使用
SimpleDateFormat
Date
。这些课程设计拙劣,早已过时。相反,请使用来自的
LocalDateTime
DateTimeFormatter
。当询问不起作用的代码时,除了期望的结果外,请始终包括精确的观察结果。逐字引用任何错误消息或stacktrace。在后一种情况下,将stacktrace格式化为代码,以便于可读,并告诉我们stacktrace指的是代码中的哪一行。YY和mm后面有一个空格。那不行。另外,使用
yy
,而不是
yy
——这是一种不同的年份。谢谢弗雷德里克!它现在可以用于我的简单示例,但不能用于我的csv表单,事实上,java返回给我这个问题:无法解析的日期:“19 f�vr.18,09:05“我如何修复UTF-8编码?这是另一个问题。不,这不总是有效的。为什么不呢?基本上是因为
SimpleDateFormat
非常混乱和麻烦。我建议您不要使用
SimpleDateFormat
Date
。这些课程设计拙劣,早已过时。相反,请使用来自的
LocalDateTime
DateTimeFormatter
。当询问不起作用的代码时,除了期望的结果外,请始终包括精确的观察结果。逐字引用任何错误消息或stacktrace。在后一种情况下,将stacktrace格式化为代码以确保可读性,并告诉我们stacktrace指的是代码中的哪一行。完美,甚至更好
u
i.o.
y
。值得解释的是,
h
表示12小时,而
h
表示24小时,特别是20:21。我正要发布类似的代码。因为我们不知道10点前的几个小时在CSV文件中是什么样子的,所以我在格式模式字符串中只放了一个
H
。例如,在一天中的一小时内,它将同时接受
3
03
。完美的
u
i.o.
y
。值得解释的是,
h
表示12小时,而
h
表示24小时,特别是20:21。我正要发布类似的代码。因为我们不知道10点前的几个小时在CSV文件中是什么样子的,所以我在格式模式字符串中只放了一个
H
。例如,对于一天中的一小时,它将同时接受
3
03