java中获取当前时间的前几个月

java中获取当前时间的前几个月,第1张

看你描述的不是很清楚,看看下面是不是你想要的。

import javatextDateFormat;

import javatextSimpleDateFormat;

import javautilCalendar;

import javautilDate;

public class DateUtils {

    private static final DateFormat DATE_FORMAT = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

    public static void main(String[] args) {

        Date now = new Date();

        Systemoutprintln("当前日期:" + DATE_FORMATformat(now));

        Date newDate = stepMonth(now, -13);

        Systemoutprintln("当前时间前13个月的日期:" + DATE_FORMATformat(newDate));

    }

    /

      在给定的日期加上或减去指定月份后的日期

     

      @param sourceDate 原始时间

      @param month      要调整的月份,向前为负数,向后为正数

      @return

     /

    public static Date stepMonth(Date sourceDate, int month) {

        Calendar c = CalendargetInstance();

        csetTime(sourceDate);

        cadd(CalendarMONTH, month);

        return cgetTime();

    }

}

比如今天是2009年3月24号,

那本月第一天就是: 今天的年 + 月 + 01

本月的最后一天就是:(本月第一天)加1月减1天

明白了?

日期的加减可以用类Calendar实现

本月的开始时间,就是年朋+01

结束时间,简单一点就是下月1号减1天

import javatextSimpleDateFormat;

import javautilDate;

public class Test {

/

@param args

/

public static void main(String[] args) {

// String str="<font face='Arial,Serif',size='+2' color='red'";

Date date=new Date();

SimpleDateFormat df=new SimpleDateFormat("yyyyMMdd");

String str=dfformat(date);

String str1=strsubstring(4, 6);

Systemoutprintln(str1);

}

}

SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); 

//获取前月的第一天

Calendar   cal_1=CalendargetInstance();//获取当前日期 

cal_1add(CalendarMONTH, -1);

cal_1set(CalendarDAY_OF_MONTH,1);//设置为1号,当前日期既为本月第一天 

firstDay = formatformat(cal_1getTime());

Systemoutprintln("-----1------firstDay:"+firstDay);

//获取前月的最后一天

Calendar cale = CalendargetInstance();   

caleset(CalendarDAY_OF_MONTH,0);//设置为1号,当前日期既为本月第一天 

lastDay = formatformat(calegetTime());

Systemoutprintln("-----2------lastDay:"+lastDay);

//获取当前月第一天:

Calendar c = CalendargetInstance();    

cadd(CalendarMONTH, 0);

cset(CalendarDAY_OF_MONTH,1);//设置为1号,当前日期既为本月第一天 

String first = formatformat(cgetTime());

Systemoutprintln("===============first:"+first);

//获取当前月最后一天

Calendar ca = CalendargetInstance();    

caset(CalendarDAY_OF_MONTH, cagetActualMaximum(CalendarDAY_OF_MONTH));  

String last = formatformat(cagetTime());

Systemoutprintln("===============last:"+last);

我觉得模糊查询的方法不错,楼上的可能有点不准确可以写成like 2008-1-%的形式。

或者用你的方法的话可以使用下面的方法获得最大天数和最小天数。自己重新拼一下字符串。其中2008和3都能在你已知的字符串中解析出来。最后默认写0就行。

Calendar c = CalendargetInstance();

cset(2008, 3, 0);

int maxDate = cgetActualMaximum(CalendarDATE);

int minDate = cgetActualMinimum(CalendarDATE);

以上就是关于java中获取当前时间的前几个月全部的内容,包括:java中获取当前时间的前几个月、如何在java中得到本月的开始和结束时间(天)、如何在java中获得当前系统时间的月份,并以“01”这样的格式输出等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9786390.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存