import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; public class DateUtil { public static void main(String[] args) { Date date = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); String specifiedDay = sdf.format(date); System.out.println(getSpecifiedDayBefore(specifiedDay)); System.out.println(getSpecifiedDayAfter(specifiedDay)); } /** * 获得指定日期的前一天 * * @param specifiedDay * @return * @throws Exception */ public static String getSpecifiedDayBefore(String specifiedDay) {//可以用new Date().toLocalString()传递参数 Calendar c = Calendar.getInstance(); Date date = null; try { date = new SimpleDateFormat("yy-MM-dd").parse(specifiedDay); } catch (ParseException e) { e.printStackTrace(); } c.setTime(date); int day = c.get(Calendar.DATE); c.set(Calendar.DATE, day - 1); String dayBefore = new SimpleDateFormat("yyyy-MM-dd").format(c .getTime()); return dayBefore; } /** * 获得指定日期的后一天 * * @param specifiedDay * @return */ public static String getSpecifiedDayAfter(String specifiedDay) { Calendar c = Calendar.getInstance(); Date date = null; try { date = new SimpleDateFormat("yy-MM-dd").parse(specifiedDay); } catch (ParseException e) { e.printStackTrace(); } c.setTime(date); int day = c.get(Calendar.DATE); c.set(Calendar.DATE, day + 1); String dayAfter = new SimpleDateFormat("yyyy-MM-dd") .format(c.getTime()); return dayAfter; } }
相关推荐
为了更方便地处理日期相关的逻辑,通常会创建一个自定义的`Date`类(注意不要与Java内置的`java.util.Date`混淆)。在这个类中,可以定义表示年、月、日的属性,并提供构造函数来初始化这些属性。通过这样的封装,...
4. **New_Time(date, OldZone, NewZone)**: 将一个已知时区的日期转换到另一个时区,支持多种时区字符串,如ADT(大西洋夏令时)、CST(中部标准时间)等。 5. **Next_Day(date, weekday)**: 返回从指定日期开始的...
在Java中,`java.util.Calendar`类提供了对日期和时间的高级操作能力,它是一个抽象类,通过其子类如`GregorianCalendar`来具体实现日期和时间的计算。在代码片段中,`Calendar.getInstance()`方法被用来获取当前...
4. SQL中的Between语句用于指定一个范围,正确的准则应该是`Between Date() And Date()-20`,表示查找工作时间在当前日期到20天前之间的记录。 5. Java语言的浮点型数据包括float和double,其中double精度更高,...
1. **日期函数**:在数据库查询中,`Date()`函数用于获取当前日期,`Between`关键字用于指定一个范围。题目中正确答案C表示查找工作时间在当前日期和20天前之间的记录。 2. **剪贴板操作**:剪切和复制操作是操作...
- **定义**:多态是指在面向对象编程中,一个接口可以有多种不同的实现方式。具体来说,在同一方法中,根据参数类型的差异导致不同的执行效果,这种现象被称为多态。 - **应用场景**:多态常用于提高代码的复用性和...