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

}

}

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

取得时间类

1、Date ,Systemoutprintln(new date());

2、calendar 此类是抽象类,要想实例化,需要实例化子类GregorianCalendar

看看jdk的API中给了相应的方法:注意月份需要加1;

有时候希望对格式进行转换。

SimpleDateFormat类 此类在javatext包下

1、准备原格式,2、准备新格式 3、转化

String str = "2011-09-11 16:35:06";

SimpleDateFormat sd = new SimpleDateFormate("yyyy-MM-dd HH:mm:ss");

SimpleDateFormat sd2 = new SimpleDateFormate("yyyy

年MM月dd日 HH时mm分ss秒")

//然后进行转化

Date d = sdparse(str);

将时间数插入sd2上

String newStr = sd2format(d);

Systemoutprintln(newStr);

import javatextSimpleDateFormat;

import javautilCalendar;

public class DataTest {

public static void main(String[] args) {

printWeekdays();

}

private static final int FIRST_DAY = CalendarMONDAY;

private static void printWeekdays() {

Calendar calendar = CalendargetInstance();

setToFirstDay(calendar);

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

printDay(calendar);

calendaradd(CalendarDATE, 1);

}

}

private static void setToFirstDay(Calendar calendar) {

while (calendarget(CalendarDAY_OF_WEEK) != FIRST_DAY) {

calendaradd(CalendarDATE, -1);

}

}

private static void printDay(Calendar calendar) {

SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd EE");

Systemoutprintln(dateFormatformat(calendargetTime()));

}

}

以上就是关于java 根据日期获取当月所有日期,和 上个月所有日期全部的内容,包括:java 根据日期获取当月所有日期,和 上个月所有日期、请问高手,用Calendar包实现,在java中如何获取指定年月日的星期、Java中获取本周内所有日期等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存