如何用java去 *** 作“日期”函数,取得月初和月末

如何用java去 *** 作“日期”函数,取得月初和月末,第1张

可以使用javautilCalendar来取得相关日期信息,下面给个示例供参考:

Java代码:

import javatextParseException;

import javatextSimpleDateFormat;

import javautilCalendar;

public class DateDemo {

static SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");

public static void main(String[] args) throws ParseException {

String date = "2011-04-25 22:28:30";

Systemoutprintln(date);

Systemoutprintln("年份:" + getYear(date));

Systemoutprintln("月份:" + getMonth(date));

Systemoutprintln("日期:" + getDay(date));

Systemoutprintln("月初日期是: " + getMinMonthDate(date));

Systemoutprintln("月末日期是: " + getMaxMonthDate(date));

}

/

获取日期年份

@param date

@return

@throws ParseException

/

public static int getYear(String date) throws ParseException{

Calendar calendar = CalendargetInstance();

calendarsetTime(dateFormatparse(date));

return calendarget(CalendarYEAR);

}

/

获取日期月份

@param date

@return

@throws ParseException

/

public static int getMonth(String date) throws ParseException{

Calendar calendar = CalendargetInstance();

calendarsetTime(dateFormatparse(date));

return (calendarget(CalendarMONTH) + 1);

}

/

获取日期号

@param date

@return

@throws ParseException

/

public static int getDay(String date) throws ParseException{

Calendar calendar = CalendargetInstance();

calendarsetTime(dateFormatparse(date));

return calendarget(CalendarDAY_OF_MONTH);

}

/

获取月份起始日期

@param date

@return

@throws ParseException

/

public static String getMinMonthDate(String date) throws ParseException{

Calendar calendar = CalendargetInstance();

calendarsetTime(dateFormatparse(date));

calendarset(CalendarDAY_OF_MONTH, calendargetActualMinimum(CalendarDAY_OF_MONTH));

return dateFormatformat(calendargetTime());

}

/

获取月份最后日期

@param date

@return

@throws ParseException

/

public static String getMaxMonthDate(String date) throws ParseException{

Calendar calendar = CalendargetInstance();

calendarsetTime(dateFormatparse(date));

calendarset(CalendarDAY_OF_MONTH, calendargetActualMaximum(CalendarDAY_OF_MONTH));

return dateFormatformat(calendargetTime());

}

}

这个问题可以用两种方式得到:

方法一:在java中可以使用Date类直接获得,但是这个方法过时了,不推荐使用。

方法二:使用 javautilCalendar 类。

代码例子:

//方法1:虽然还可以用,但是已经不建议使用,已经过时。

Date date = new Date();

int old_y = dategetYear()+1900;//得到年份。因为得到的是1900年后至今过了多少年,所以要加1900

int old_m = dategetMonth()+1;//因为得到的结果是0~11,故而加一。

int old_d = dategetDate();//得到月份中今天的号数

Systemoutprintln("现在是:"+old_y+"-"+old_m+"-"+old_d+"(使用过时方法)");//

//方法2:推荐使用

Calendar calendar = CalendargetInstance();

int now_y = calendarget(CalendarYEAR);//得到年份

int now_m = calendarget(CalendarMONTH)+1;//得到月份

int now_d = calendarget(CalendarDATE);//得到月份中今天的号数

int now_h = calendarget(CalendarHOUR_OF_DAY);//得到一天中现在的时间,24小时制

int now_mm = calendarget(CalendarMINUTE);//得到分钟数

int now_s = calendarget(CalendarSECOND);//得到秒数

Systemoutprintln("现在是:"+now_y+"-"+now_m+"-"+now_d+" "+now_h+":"+now_mm+":"+now_s+"(使用推荐方法)");

结果:

现在是:2015-11-9(使用过时方法)

现在是:2015-11-9 18:7:42(使用推荐方法)

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

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();

    }

}

Calendar calendar = CalendargetInstance();

//得到月初

calendarset(CalendarDAY_OF_MONTH,calendargetActualMinimum(CalendarDAY_OF_MONTH));

Date strDateFrom = calendargetTime();

//得到月末

calendarset(CalendarDAY_OF_MONTH,calendargetActualMaximum(CalendarDAY_OF_MONTH));

Date strDateTo = calendargetTime();

或者

public static String getMonthFirstDay() {

Calendar calendar = CalendargetInstance();

calendarset(CalendarDAY_OF_MONTH, calendar

getActualMinimum(CalendarDAY_OF_MONTH));

return dateFormat("yyyy-MM-dd", calendargetTime());

}

/

得到本月的最后一天

@return

/

public static String getMonthLastDay() {

Calendar calendar = CalendargetInstance();

calendarset(CalendarDAY_OF_MONTH, calendar

getActualMaximum(CalendarDAY_OF_MONTH));

return dateFormat("yyyy-MM-dd", calendargetTime());

}

或者

private int getLastDayOfMonth(int year, int month) {

Calendar cal = CalendargetInstance();

calset(CalendarYEAR, year);

calset(CalendarMONTH, month);

// 某年某月的最后一天

return calgetActualMaximum(CalendarDATE);

}

需要注意的是:资料均来自JAVAEYE 月份是从0开始的,比如说如果输入5的话,实际上显示的是4月份的最后一天,千万不要搞错了哦

package comjavaskytest2;

import javatextSimpleDateFormat;

import javautilCalendar;

import javautilDate;

public class Test6 {

public static void main(String[] args) {

Date nowdate = new Date();

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

Calendar cal = CalendargetInstance();

/ 设置为当前时间 /

calsetTime(nowdate);

Systemoutprintln("当前时间是:" + sdfformat(nowdate));

/ 当前日期月份-1 /

caladd(CalendarMONTH, -1);

// 得到前一个月的第一天

calset(CalendarDAY_OF_MONTH, calgetActualMinimum(CalendarDAY_OF_MONTH));

Systemoutprintln("上个月的第一天是:" + sdfformat(calgetTime()));

// 得到前一个月的最后一天

calset(CalendarDAY_OF_MONTH, calgetActualMaximum(CalendarDAY_OF_MONTH));

Systemoutprintln("上个月的最后一天是:" + sdfformat(calgetTime()));

}

}

//取得系统当前时间

Calendar cal = CalendargetInstance();

//取得系统当前时间所在月第一天时间对象

calset(CalendarDAY_OF_MONTH, 1);

//日期减一,取得上月最后一天时间对象

caladd(CalendarDAY_OF_MONTH, -1);

//输出上月最后一天日期

Systemoutprintln(calget(CalendarDAY_OF_MONTH));

以上就是关于如何用java去 *** 作“日期”函数,取得月初和月末全部的内容,包括:如何用java去 *** 作“日期”函数,取得月初和月末、如何用java取得年,月,日,时,分,秒、java中获取当前时间的前几个月等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址:https://54852.com/web/9451669.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存