java 根据日期获取当月所有日期,和 上个月所有日期

java 根据日期获取当月所有日期,和 上个月所有日期,第1张

import javatextSimpleDateFormat;

import javautilCalendar;

import javautilDate;

public class Main {

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

public static void main(String args[]) {

Date d = new Date();

// 月初

Systemoutprintln("月初" + sdfformat(getMonthStart(d)));

// 月末

Systemoutprintln("月末" + sdfformat(getMonthEnd(d)));

Date date = getMonthStart(d);

Date monthEnd = getMonthEnd(d);

while (!dateafter(monthEnd)) {

Systemoutprintln(sdfformat(date));

date = getNext(date);

}

}

private static Date getMonthStart(Date date) {

Calendar calendar = CalendargetInstance();

calendarsetTime(date);

int index = calendarget(CalendarDAY_OF_MONTH);

calendaradd(CalendarDATE, (1 - index));

return calendargetTime();

}

private static Date getMonthEnd(Date date) {

Calendar calendar = CalendargetInstance();

calendarsetTime(date);

calendaradd(CalendarMONTH, 1);

int index = calendarget(CalendarDAY_OF_MONTH);

calendaradd(CalendarDATE, (-index));

return calendargetTime();

}

private static Date getNext(Date date) {

Calendar calendar = CalendargetInstance();

calendarsetTime(date);

calendaradd(CalendarDATE, 1);

return calendargetTime();

}

}

这是一个月的 你改改就能写出上个月的了吧

//0、日期输出格式

SimpleDateFormat f = new SimpleDateFormat("yyyy/MM/dd,HH:mm:ss");

//1、获取当前日期 方式一

Date b = new Date();

Systemoutprintln(fformat(b));

//2、获取当前日期 方式二

Calendar c = CalendargetInstance();

//可以手动设置日期

//cset(2011, CalendarJANUARY, 31);

Systemoutprintln(fformat(cgetTime()));

//3、获取当前日期增加两个月后的日期,

cadd(CalendarMONTH, 2);

Systemoutprintln(fformat(cgetTime()));

import javatextSimpleDateFormat;

import javautilDate;

import javautilCalendar;

public class WorkDay {

public static void main(String[] args) {

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

for (Date date : getWeekDay()) {

Systemoutprintln(dateFormatformat(date));

}

}

public static Date[] getWeekDay() {

Calendar calendar = CalendargetInstance();

while (calendarget(CalendarDAY_OF_WEEK) != CalendarMONDAY) {

calendaradd(CalendarDAY_OF_WEEK, -1);

}

Date[] dates = new Date[5];

for (int i = 0; i < 5; i++) {

dates[i] = calendargetTime();

calendaradd(CalendarDATE, 1);

}

return dates;

}

}

如果每周指的是从星期一开始,那么这个程序可以达到你的要求。

如果每周指得是从星期日开始,那么请说明,我再修改。

采用日历类Calendar\x0d\\x0d\Calendar calendar = CalendargetInstance();\x0d\//第二个参数的意思表示与当前时间的比较,数字表示天数,1表示下一天 -1表示前一天。\x0d\calendaradd(CalendarDAY_OF_MONTH,1);\x0d\//这样就可以获取到下一天,然后你自己去格式化吧\x0d\calendargetTime();

import javatextSimpleDateFormat;import javautilDate;

public class Timedemo {

public static void main(String[] args)

{

long time=SystemcurrentTimeMillis();

Date date=new Date(time);

String mat="yyyy-MM-dd";

String ma="yyyyMMdd";

SimpleDateFormat format=new SimpleDateFormat(mat);

SimpleDateFormat forma=new SimpleDateFormat(ma);

String nowdate=formatformat(date);

String nwdate=formaformat(date);

int x=IntegerparseInt(nwdate);

Systemoutprintln(nowdate);

Systemoutprintln(nwdate);

Systemoutprintln(x);

}

}

经过测试满足以上条件 希望对你有帮助

Calendar c = CalendargetInstance();

csetTimeInMillis(dategetTime());

cadd(CalendarDATE, amount);

strformatDate(date4, "yyyy-MM-dd");

//dategetTime() 当前日期

//amount 传入的N天数

例如:

SimpleDateFormat formatDate = new SimpleDateFormat("yyyy-MM-dd"); //字符串转换

Calendar c = CalendargetInstance();

//new Date()getTime();这个是获得当前电脑的时间,你也可以换成一个随意的时间

csetTimeInMillis(new Date()getTime());

cadd(CalendarDATE, 5);//天后的日期

Date date= new Date(cgetTimeInMillis()); //将c转换成Date

Systemoutprintln("date="+formatDateformat(date4));

java表示距当前时间100天后的日期的方法是用Calader对象。核心代码如下:1、创建Calendar对象Calendarcalendar=CalendargetInstance();2、调用add方法给当前日期增加100天calendaradd(CalendarDATE,100);3、返回100天后的时间ret

以上就是关于java 根据日期获取当月所有日期,和 上个月所有日期全部的内容,包括:java 根据日期获取当月所有日期,和 上个月所有日期、java如何获取当前日期并计算出2个月后的日期、java 获得本周一到周五的日期等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存