无法解析的日期:“20180 ......” Json 日期到 java
Posted
技术标签:
【中文标题】无法解析的日期:“20180 ......” Json 日期到 java【英文标题】:Unparseable date : "20180......" Json date to java 【发布时间】:2021-01-23 08:17:57 【问题描述】:我正在尝试解析像 "20180130000000"
这样的 json 格式的日期,
程序向我发送了这个异常你知道怎么做吗?
这是我的代码:
"monTableau": [
"Données": "ONE",
"Date import": "20180130000000",
"Date export": "20180130000000"
,
"Données": "TWO",
"Date import": "20190101000000",
"Date export": "20190101000000"
,
"Données": "THREE",
"Date import": "20200101000000",
"Date export": "20200101000000"
,
"Données": "FOUR",
"Date import": "20180130000000",
"Date export": "20180130000000"
]
public class App
public static void main( String[] args )
JSONParser jsonP = new JSONParser();
SimpleDateFormat df = new SimpleDateFormat("dd-MMM-yy");
try
JSONObject jsonO = (JSONObject) jsonP.parse(new FileReader("C:/myJsonTest.json"));
JSONArray myArray = (JSONArray) jsonO.get("monTableau");
for (int i=0;i<myArray.size();i ++)
JSONObject jo = (JSONObject) myArray.get(i);
String donnees = (String) jo.get("Données");
String dateImport = (String) jo.get("Date import");
Date date = df.parse(dateImport);
String dateExport = (String) jo.get("Date export");
System.out.println("Donnees : "+donnees);
//System.out.println("Date import : "+date);
catch (ParseException e)
e.printStackTrace();
catch (FileNotFoundException e)
e.printStackTrace();
catch (IOException e)
e.printStackTrace();
catch (java.text.ParseException e)
e.printStackTrace();
【问题讨论】:
为什么你认为"20180130000000"
格式的日期时间可以用"dd-MMM-yy"
模式解析?一定要用java.util.Date
和java.text.SimpleDateFormat
还是可以切换到java.time
?
【参考方案1】:
您使用dd-MMM-yy
模式定义了日期格式化程序。但是你的输入却完全不同。您必须根据输入来调整模式。
尝试不同的模式,例如:
SimpleDateFormat df = new SimpleDateFormat("yyyyMMddHHmmss");
【讨论】:
以上是关于无法解析的日期:“20180 ......” Json 日期到 java的主要内容,如果未能解决你的问题,请参考以下文章
Globalize.js - 如何解析日期和时间而不仅仅是日期
错误代码:38 DB::Exception:无法解析日期:值太短:无法从字符串解析日期:执行“FUNCTION toDate()”时