标签: unparseable

DateFormat 日期解析行为从 Java 8 更改为 Java 9,是否有相关的环境设置?

我有一个遗留的 Web 应用程序,其中的 Java 代码是在 Java 5 中编译和运行的,当尝试构建新环境以在 Java 12 中运行相同的代码时,我遇到了日期格式问题。我已经在 J​​ava 5、7、8、9、10、11、12 中对此进行了测试,并且使用 Java 9 或更高版本时代码行为会发生变化。

我无法更改 Web 应用程序的 Java 源代码。

问题与使用 java.text.DateFormat 和 parse(String) 方法有关。

这个小测试应用程序显示了这个问题:

import java.util.*;
import java.text.*;

public class LocaleAndDateTester {

    public LocaleAndDateTester() {
    }

    public static final void main(String[] argv) {
        LocaleAndDateTester a = new LocaleAndDateTester();
        a.go();
    }

    private void go() {
        System.out.println("Locale country: " + Locale.getDefault().getDisplayCountry());

        java.text.DateFormat df = java.text.DateFormat.getDateInstance();
        String[] dateToTest = {"01-JAN-2020", "12-SEP-2019", "12/SEP/2019", "12/09/2019",
                               "September 12, 2019", "Sep 12, 2019", …
Run Code Online (Sandbox Code Playgroud)

java parsing date unparseable

6
推荐指数
1
解决办法
2244
查看次数

无法解释的日期:"2014年10月10日星期二23:11:07"(抵消20日)

我已经创建了这个函数来解析日期,但这给出了异常:Unparseable date:"Fri Oct 10 23:11:07 IST 2014"(在偏移20处).请帮忙,因为我无法弄清楚这段代码有什么问题.

public Date parseDate() {
    String strDate ="Fri Oct 10 23:11:29 IST 2014";
    String newPattern = "EEE MMM dd HH:mm:ss Z yyyy";
    SimpleDateFormat formatter = new SimpleDateFormat(newPattern);
    try {
        Date date = formatter.parse(strDate);
        return date;
    } catch (java.text.ParseException e) {
        e.printStackTrace();
    }
    return null;
}
Run Code Online (Sandbox Code Playgroud)

java android date unparseable

4
推荐指数
2
解决办法
2344
查看次数

SimpleDateFormat 导致无法解析的错误

我有点使用以下源来创建我自己的 sdf 模式:https : //docs.oracle.com/en/java/javase/13/docs/api/java.base/java/text/SimpleDateFormat.html

很遗憾

    SimpleDateFormat mFormatter = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss Z");
    ...
    private Date getLatestTimeStamp() throws ParseException {
         return mFormatter.parse("Mon, 19 Dec 2019 11:32:04 +0000");
    }
Run Code Online (Sandbox Code Playgroud)

导致以下错误,我不明白为什么:

java.text.ParseException: Unparseable date: "Mon, 19 Dec 2019 11:32:04 +0000"
Run Code Online (Sandbox Code Playgroud)

任何帮助都是极好的!

编辑:我正在使用 JDK 13

编辑2:

因此,我清理了我的代码,创建了一个新项目,但它仍然无法正常工作:

import java.time.OffsetDateTime;
import java.time.format.DateTimeFormatter;

public class Main {

    public static void main(String[] args) {

        String source = "Thu, 19 Dec 2019 11:32:04 +0000";
        DateTimeFormatter mFormatter = DateTimeFormatter.ofPattern("EEE, dd MMM yyyy HH:mm:ss Z"); …
Run Code Online (Sandbox Code Playgroud)

java simpledateformat unparseable java-13

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

java.text.ParseException:无法解析的日期:java.text.DateFormat.parse(DateFormat.java:579)

我有问题SimpleDateFormat

SimpleDateFormat dtfmt=new SimpleDateFormat("dd MMM yyyy hh:mm a", Locale.getDefault());
Date dt=dtfmt.parse(deptdt);
Run Code Online (Sandbox Code Playgroud)

在 Android 模拟器中工作正常,但在手机中出现此错误:

W/System.err: java.text.ParseException: Unparseable date: "24 Oct 2016 7:31 pm" (at offset 3) W/System.err: at java.text.DateFormat.parse(DateFormat.java:579)

有什么解决办法吗?

java android date datetime-parsing unparseable

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

无法解析的日期:“2017-01-02T01:41:24Z”(偏移量 10)

2017-01-02T01:41:24Z是我的实际日期格式,我想以yyyy-MM-dd hh:mma格式转换此日期。

请参阅我到目前为止尝试过的以下代码,

  String newsDate = "2017-01-02T01:41:24Z";
  SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mma");
        Date date = null;
        try
        {
            date = sdf.parse(newsDate);
        }
        catch (ParseException e)
        {
            e.printStackTrace();
        }
Run Code Online (Sandbox Code Playgroud)

但在date = sdf.parse(newsDate);一行我收到以下错误:

“无法解析的日期:“2017-01-02T01:41:24Z”(偏移量 10)”。

请指导我,我哪里出错了?

android date simpledateformat unparseable

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

无法解释的日期:Java中的"2018年4月5日"

我只想要Month,Year明智的输出,但我遇到了问题.这是一个ExceptionUnparseable date: "Apr 5, 2018".我已将日期存储在Bill_DateColumn中sqlite,并且其格式"Apr 5, 2018"在其字段中.那么我怎样才能只获得该格式的月份和年份(Apr, 2018).这是我的代码如下:

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Collection;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.Locale;

public class Demo2 {
    private static Connection con;
    private static String query;
    private static PreparedStatement PStat,PStat2;
    private static ResultSet res,res2;
    private static String Bill_Date;
public static void main(String args[])
{
    try
    {
        con=Database.Database();
        query="select …
Run Code Online (Sandbox Code Playgroud)

java date exception unparseable

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