Java 日期比较以及得到前后一天

复制代码
    /**
     * 比较两个指定时间,结果为0 表示相同,< 0 则表示第一个时间早于第二个时间
     * @param firstDay
     * @param secondDay
     * @return
     */
    public static int compareto(String firstDay,String secondDay)  
    {  
        Calendar c = Calendar.getInstance();  
        Calendar c2 = Calendar.getInstance();  
        Date date = null;  
        Date date2 = null;  
        try  
        {  
            date = new SimpleDateFormat(DATE_FORMAT_PATTERN).parse(firstDay);  
            date2 = new SimpleDateFormat(DATE_FORMAT_PATTERN).parse(secondDay);  
        }  
        catch (ParseException e)  
        {  
            e.printStackTrace();  
        }  
        c.setTime(date);  
        c2.setTime(date2); 
        return c.compareTo(c2);
    } 
复制代码
复制代码
    /** 
     * 获得指定日期的前n天 
     *  
     * @param specifiedDay yy-MM-dd 
     * @return 
     * @throws Exception 
     */  
    public static String getBeforeDay(String specifiedDay,int n)  
    {  
        Calendar c = Calendar.getInstance();  
        Date date = null;  
        try  
        {  
            date = new SimpleDateFormat(DATE_FORMAT_PATTERN).parse(specifiedDay);  
        }  
        catch (ParseException e)  
        {  
            e.printStackTrace();  
        }  
        c.setTime(date);  
        int day = c.get(Calendar.DATE);  
        c.set(Calendar.DATE, day - n);  
      
        String dayBefore = new SimpleDateFormat(DATE_FORMAT_PATTERN).format(c.getTime());  
        return dayBefore;  
    } 
    
复制代码
复制代码
 /** 
     * 获得指定日期的后一天 
     *  
     * @param specifiedDay yy-MM-dd 
     * @return 
     */  
    public static String getAfterDay(String specifiedDay,int n)  
    {  
        Calendar c = Calendar.getInstance();  
        Date date = null;  
        try  
        {  
            date = new SimpleDateFormat(DATE_FORMAT_PATTERN).parse(specifiedDay);  
        }  
        catch (ParseException e)  
        {  
            e.printStackTrace();  
        }  
        c.setTime(date);  
        int day = c.get(Calendar.DATE);  
        c.set(Calendar.DATE, day + n);  
      
        String dayAfter = new SimpleDateFormat(DATE_FORMAT_PATTERN).format(c.getTime());  
        return dayAfter;  
    }
复制代码

 

posted @   panie2015  阅读(654)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示