如何设置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