Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.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_Pojo - Fatal编程技术网

如何在Java中获取所选日期范围的时间戳

如何在Java中获取所选日期范围的时间戳,java,pojo,Java,Pojo,截止日期前,所有产品均相同。但是通过这段代码,我得到的是当前日期和当前时间戳,并且在所选日期范围的唯一日期而不是时间戳之后。您只得到当前日期,因为Calendar.getInstance()返回设置为当前日期的Calendar对象。因此,在该行之后,您需要使用cal.setTime(begin)将时间设置为开始日期 此外,必须在for循环中打印时间戳,否则将只打印当天的最后一个时间戳 我假设您还希望开始日期和结束日期都打印为时间戳。为此,必须将行begin=newdate(begin.getTi

截止日期前,所有产品均相同。但是通过这段代码,我得到的是当前日期和当前时间戳,并且在所选日期范围的唯一日期而不是时间戳之后。

您只得到当前日期,因为
Calendar.getInstance()
返回设置为当前日期的
Calendar
对象。因此,在该行之后,您需要使用
cal.setTime(begin)
将时间设置为开始日期

此外,必须在for循环中打印时间戳,否则将只打印当天的最后一个时间戳

我假设您还希望开始日期和结束日期都打印为时间戳。为此,必须将行
begin=newdate(begin.getTime()+86400000)
移动到while循环的末尾,否则将跳过开始日期。这样,您可能会看到结束日期不会被打印。因此,您还将结束日期的时间设置为while循环前一天的结束时间


编辑:要将结束日期的时间设置为一天的结束时间,因此它也会显示出来,请尝试使用
endDate.setTime(endDate.getTime()+24*3600*1000)
。这样,日期将在将来被移动一天,并且也将使用整个endDate。请记住在while循环之前执行此操作。

如果有人知道解决方案,请建议我也为结束日期添加了时间,但它没有给我结束日期…或者它正在工作。提出不同的建议或探索,请参阅我的编辑,了解如何实现我的意思。如果我的答案解决了您的问题,请记住接受它。
public class DateTime {
    public static java.util.LinkedList searchBetweenDates(java.util.Date startDate, java.util.Date endDate) 
    {
       java.util.Date begin = new Date(startDate.getTime());
        java.util.LinkedList list = new java.util.LinkedList();
        list.add(new Date(begin.getTime()));

        while(begin.compareTo(endDate)<0)
        {
            begin = new Date(begin.getTime() + 86400000);
            list.add(new Date(begin.getTime()));

            Timestamp timestamp = new Timestamp(new Date().getTime());
            int total=3;
            Calendar cal = Calendar.getInstance();
            for(int d=0; d<=total; d++)
            {
            cal.add(Calendar.MINUTE, 2);
            timestamp = new Timestamp(cal.getTime().getTime());

            }
            System.out.println(timestamp);  
        }
        return list;

    }

  public static void main( String[] args )throws Exception
  {
      java.util.Scanner input = new java.util.Scanner(System.in);
      System.out.println("Enter the Start Date: dd/mm/yyyy");
      String begin = new String();
      begin = input.nextLine();

      System.out.println("Enter the End Date: dd/mm/yyyy");
      String end = new String();
      end = input.nextLine();

      java.util.LinkedList hitList = searchBetweenDates(
            new java.text.SimpleDateFormat("dd/MM/yyyy").parse(begin),
            new java.text.SimpleDateFormat("dd/MM/yyyy").parse(end));

      String[] comboDates = new String[hitList.size()];
      for(int i=0; i<hitList.size(); i++)
          comboDates[i] = new java.text.SimpleDateFormat("dd/MM/yyyy ").format(((java.util.Date)hitList.get(i)));

      for(int i=0; i<comboDates.length; i++)
          System.out.println(comboDates[i]);


      input.close();
    }
  }
         01/01/2016 12:02:01
                    12:04:45
                    till
                    11:59:00


          02/01/2016 12:02:01
                     12:04:45