Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/366.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 - Fatal编程技术网

如何设置Java日期对象';昨天的价值是什么?

如何设置Java日期对象';昨天的价值是什么?,java,Java,可能重复: 将Java日期对象的值设置为“昨天”的优雅方式是什么?将日期转换为日历对象,并将其“回滚”一天。类似于此帮助器方法的内容来自: 对于您的具体情况,只需将天作为-1传递,您就可以完成。如果要进行大量的日期特定操作,请确保您考虑了时区/地区。您的意思是要回到24小时前吗 Date date = new Date(System.currentTimeMillis() - 24 * 60 * 60 * 1000L); 或者在同一时间返回一天(这可能是23或25小时,取决于夏令时) 由于

可能重复:


将Java日期对象的值设置为“昨天”的优雅方式是什么?

日期
转换为
日历
对象,并将其“回滚”一天。类似于此帮助器方法的内容来自:


对于您的具体情况,只需将
作为
-1
传递,您就可以完成。如果要进行大量的日期特定操作,请确保您考虑了时区/地区。

您的意思是要回到24小时前吗

 Date date = new Date(System.currentTimeMillis() - 24 * 60 * 60 * 1000L);
或者在同一时间返回一天(这可能是23或25小时,取决于夏令时)

由于夏令时的原因,这些不完全相同。


您可以尝试以下示例将其设置为上一个日期

Calendar cal = Calendar.getInstance();
DateFormat dateFormat = new SimpleDateFormat("MM/dd/yyyy");
System.out.println("Today's date is " +dateFormat.format(cal.getTime()));    
cal.add(Calendar.DATE, -1);  
System.out.println("Yesterday's date was "+dateFormat.format(cal.getTime()));

正如许多人已经说过的,使用日历而不是日期

如果您发现确实要使用日期:

Calendar cal = Calendar.getInstance();
cal.add(Calendar.HOUR, -24);
cal.getTime();//returns a Date object

Calendar cal1 = Calendar.getInstance();
cal1.add(Calendar.DAY_OF_MONTH, -1);
cal1.getTime();//returns a Date object
我希望这有帮助。

这似乎很复杂。你能简化这个例子吗?@PeterLawrey,我刚才让它更简单了。+1用于使用JodaTime而不是Date。Java 8 LocalDate非常类似:
LocalDate.now().minusDays(1)
,看起来与@UVM的答案类似。你能试着添加一些他回答不到的东西吗?@PeterLawrey我测试了一下,效果很好我知道它很好,只是它和以前的帖子差不多。。
  LocalDate today = LocalDate.now();
    LocalDate yesterday = today.minus(Period.days(1));

    System.out.printf("Today is : %s, Yesterday : %s", today.toString("yyyy-MM-dd"), yesterday.toString("yyyy-MM-dd"));
Calendar cal = Calendar.getInstance();
DateFormat dateFormat = new SimpleDateFormat("MM/dd/yyyy");
System.out.println("Today's date is " +dateFormat.format(cal.getTime()));    
cal.add(Calendar.DATE, -1);  
System.out.println("Yesterday's date was "+dateFormat.format(cal.getTime()));
you can try the follwing code:
Calendar cal = Calendar.getInstance();
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
System.out.println("Today's date is "+dateFormat.format(cal.getTime()));

cal.add(Calendar.DATE, -1);
System.out.println("Yesterday's date was "+dateFormat.format(cal.getTime())); 
Calendar cal = Calendar.getInstance();
cal.add(Calendar.HOUR, -24);
cal.getTime();//returns a Date object

Calendar cal1 = Calendar.getInstance();
cal1.add(Calendar.DAY_OF_MONTH, -1);
cal1.getTime();//returns a Date object