Java 在服务器上部署时获得错误输出:在两个日期之间获取视频详细信息

Java 在服务器上部署时获得错误输出:在两个日期之间获取视频详细信息,java,mongodb,date,video,Java,Mongodb,Date,Video,在我与mongodb合作的基于spring的项目中,当我尝试获取任何特定日期2014年5月17日的视频时,我会获取该日期2014年5月17日的所有视频以及下一个日期2014年5月18日的一些视频,当我尝试获取下一个日期2014年5月18日的视频时,则在上一个日期2014年5月17日获取的视频不会在这段时间出现。 查询代码为: SimpleDateFormat sdf = new SimpleDateFormat("ddMMyyyy"); Calendar c = Calendar.getInst

在我与mongodb合作的基于spring的项目中,当我尝试获取任何特定日期2014年5月17日的视频时,我会获取该日期2014年5月17日的所有视频以及下一个日期2014年5月18日的一些视频,当我尝试获取下一个日期2014年5月18日的视频时,则在上一个日期2014年5月17日获取的视频不会在这段时间出现。 查询代码为:

SimpleDateFormat sdf = new SimpleDateFormat("ddMMyyyy");
Calendar c = Calendar.getInstance();
String frd="11082013"
c.setTime(sdf.parse(frd));
c.set(Calendar.HOUR, 0);
c.set(Calendar.MINUTE, 0);
c.set(Calendar.SECOND, 0);
    //getting the date in the above format with above hr,min and sec.
Date start = c.getTime();

String td= "11082013";
c.setTime(sdf.parse(td));
c.set(Calendar.HOUR, 23);
c.set(Calendar.MINUTE, 59);
c.set(Calendar.SECOND, 59);
Date end = c.getTime();

    //creating a query for fatch all video from mongodb on the basis of starting and      ending date
org.springframework.data.mongodb.core.query.Query query = new org.springframework.data.mongodb.core.query.Query().addCriteria(Criteria
        .where("creationTime.logtime").gte(start).lte(end));
    //sorting data on the basis of logtime in ascending order
    query.sort().on("creationTime.logtime", Order.ASCENDING);


    //Getting the Video data in the form of list on the basis of above query and sorting from video collection
    List<Video> videos  = mongoTemplate.find(query, Video.class, "video");
这个问题不是在localhostwindows上创建的,而是在Serverlinux上部署时创建的

如果需要更多数据,请评论

 **I scan the output report thoroughly and found that it gives report from 6 am of starting date and before 6 am of next day of ending date **

MongoDB中的日期字段包含时区信息,因此如果您想按常规日期范围搜索,则需要考虑这一点。您当前的搜索基于不包含时区偏移的日期


一种简单的方法是以所需的粒度保存日期,以便使用正确排序的格式进行比较,例如,以yyyy-mm-dd格式作为字符串。

感谢您的回复,但当我们尝试将日期格式保留为yyyy-mm-dd时,它甚至无法在本地主机上运行,即没有记录。
 **I scan the output report thoroughly and found that it gives report from 6 am of starting date and before 6 am of next day of ending date **