`

java 已知一个Date(),获取前一天和后一天

 
阅读更多

转自:为了避免丢失,所以讲内容复制下来

http://blog.csdn.net/devil_cpp/article/details/6919830

  1. import java.text.ParseException;  
  2. import java.text.SimpleDateFormat;  
  3. import java.util.Calendar;  
  4. import java.util.Date;  
  5.   
  6. public class DateUtil {  
  7.       
  8.     public static void main(String[] args) {  
  9.         Date date = new Date();  
  10.         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");  
  11.         String specifiedDay = sdf.format(date);  
  12.         System.out.println(getSpecifiedDayBefore(specifiedDay));  
  13.         System.out.println(getSpecifiedDayAfter(specifiedDay));  
  14.     }  
  15.       
  16.     /** 
  17.      * 获得指定日期的前一天 
  18.      *  
  19.      * @param specifiedDay 
  20.      * @return 
  21.      * @throws Exception 
  22.      */  
  23.     public static String getSpecifiedDayBefore(String specifiedDay) {//可以用new Date().toLocalString()传递参数  
  24.         Calendar c = Calendar.getInstance();  
  25.         Date date = null;  
  26.         try {  
  27.             date = new SimpleDateFormat("yy-MM-dd").parse(specifiedDay);  
  28.         } catch (ParseException e) {  
  29.             e.printStackTrace();  
  30.         }  
  31.         c.setTime(date);  
  32.         int day = c.get(Calendar.DATE);  
  33.         c.set(Calendar.DATE, day - 1);  
  34.   
  35.         String dayBefore = new SimpleDateFormat("yyyy-MM-dd").format(c  
  36.                 .getTime());  
  37.         return dayBefore;  
  38.     }  
  39.   
  40.     /** 
  41.      * 获得指定日期的后一天 
  42.      *  
  43.      * @param specifiedDay 
  44.      * @return 
  45.      */  
  46.     public static String getSpecifiedDayAfter(String specifiedDay) {  
  47.         Calendar c = Calendar.getInstance();  
  48.         Date date = null;  
  49.         try {  
  50.             date = new SimpleDateFormat("yy-MM-dd").parse(specifiedDay);  
  51.         } catch (ParseException e) {  
  52.             e.printStackTrace();  
  53.         }  
  54.         c.setTime(date);  
  55.         int day = c.get(Calendar.DATE);  
  56.         c.set(Calendar.DATE, day + 1);  
  57.   
  58.         String dayAfter = new SimpleDateFormat("yyyy-MM-dd")  
  59.                 .format(c.getTime());  
  60.         return dayAfter;  
  61.     }  
  62. }  

 

分享到:
评论

相关推荐

    输入年月日,并打印出该月的日历,并显出星期,在日历上标出该日

    为了更方便地处理日期相关的逻辑,通常会创建一个自定义的`Date`类(注意不要与Java内置的`java.util.Date`混淆)。在这个类中,可以定义表示年、月、日的属性,并提供构造函数来初始化这些属性。通过这样的封装,...

    oracle内置函数

    4. **New_Time(date, OldZone, NewZone)**: 将一个已知时区的日期转换到另一个时区,支持多种时区字符串,如ADT(大西洋夏令时)、CST(中部标准时间)等。 5. **Next_Day(date, weekday)**: 返回从指定日期开始的...

    我的日期算法自己写的!呵呵!

    在Java中,`java.util.Calendar`类提供了对日期和时间的高级操作能力,它是一个抽象类,通过其子类如`GregorianCalendar`来具体实现日期和时间的计算。在代码片段中,`Calendar.getInstance()`方法被用来获取当前...

    2021-2022计算机二级等级考试试题及答案No.2798.docx

    4. SQL中的Between语句用于指定一个范围,正确的准则应该是`Between Date() And Date()-20`,表示查找工作时间在当前日期到20天前之间的记录。 5. Java语言的浮点型数据包括float和double,其中double精度更高,...

    2021-2022计算机二级等级考试试题及答案No.16019.docx

    1. **日期函数**:在数据库查询中,`Date()`函数用于获取当前日期,`Between`关键字用于指定一个范围。题目中正确答案C表示查找工作时间在当前日期和20天前之间的记录。 2. **剪贴板操作**:剪切和复制操作是操作...

    2021-2022计算机二级等级考试试题及答案No.18868.docx

    - **定义**:多态是指在面向对象编程中,一个接口可以有多种不同的实现方式。具体来说,在同一方法中,根据参数类型的差异导致不同的执行效果,这种现象被称为多态。 - **应用场景**:多态常用于提高代码的复用性和...

Global site tag (gtag.js) - Google Analytics