首页 > 解决方案 > Spring Boot Mongo DB中无法解析的日期错误格式

问题描述

MongoCollection<Document> Profile_List = db.getCollection("Profile_List");
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-DD"); 
Date todaydate = format.parse(new Date().toString()); 
ArrayList<Document> activeList=profile.find(Filters.regex("lastActive",todayDate.toString())).into(new ArrayList<Document>());

这是我们编写的代码。我们收到“无法解析的日期错误”。有人可以帮忙吗?

标签: mongodbspring-boot

解决方案


这是错误的:

SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-DD");
Date todaydate = format.parse(new Date().toString());

该表达式new Date().toString()不返回符合 format 的字符串yyyy-MM-DD,因此如果您尝试解析它,就好像它是以这种方式格式化的那样,您将得到一个异常。

如果您想要一个Date表示当前日期和时间的对象,只需执行以下操作:

Date todaydate = new Date();

无需将Date对象转换为字符串并尝试解析它。

如果您需要格式为当前日期的字符串,yyyy-MM-dd请执行以下操作:

SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
String todaydate = format.format(new Date());

注意:您DD在日期格式字符串中使用了,但您很可能是指dd. 请参阅SimpleDateFormat.


推荐阅读