可以通过GregorianCalendar 函数来实现日期定义获取到本月的下一个月,通过”calendaradd(CalendarMONTH, -2)“获取上个月的信息(上月和下个月是差2)
GregorianCalendar calendar = new GregorianCalendar(2015, 6, 28);//灵活的输入年份,月份,日期,
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");//定义日期显示格式
Systemoutprintln(sdfformat(calendargetTime()));//打印当前月份的下一个月份
for (int i = 0; i < 1; i++) {
calendaradd(CalendarMONTH, -2);//获取上个月月份
Systemoutprintln(sdfformat(calendargetTime()));//输出结果
}
结果:
抽了点时间写了些代码:给你看看是不是你想要的,你是初学者把,俺给你加些注释 package yjhaction; import javatextSimpleDateFormat; //定制日期格式的类 import javautilCalendar; //日历类 import javautilDate; //当前日期和时间的Data类 import javautilScanner;//读取用户输入的类 public class DataCounter{ public int getDay(String strDate) throws Exception { int day = 0; //设定一个特定的日期格式,例如2009-01-03 SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); //把用户输入的字符串转化为日期和时间的格式 Date date = formatparse(strDate); //返回系统的当前状态时间 Calendar cal = CalendargetInstance(); //用给定的 date 设置此 cal calsetTime(date); //返回年月日中的天数 day = calget(calDAY_OF_YEAR); return day; } public static void main(String args[]) { try { Systemoutprintln("请输入日期,格式如:2009-03-25:"); //读取用户的输入 Scanner scan = new Scanner(Systemin); String str = scannext(); int day; day = new DataCounter()getDay(str); Systemoutprintln(str + "是" + strsubSequence(0, 4) + "年的第" + day + "天"); } catch (Exception e) { // TODO 自动生成 catch 块 eprintStackTrace(); } } }
public void test(String date)
{
String[] dates=datesplit("-");
int year=IntegerparseInt(dates[0]);
int month=IntegerparseInt(dates[1]);
Systemoutprintln("本月第一天为:"+year+"-"+(month<10("0"+month):(month))+"-"+"01");
month++;
if(month>12)
{
year++;
month=1;
}
Systemoutprintln("下月第一天为:"+year+"-"+(month<10("0"+month):(month))+"-"+"01");
}
//取得系统当前时间
Calendar cal = CalendargetInstance();
//取得系统当前时间所在月第一天时间对象
calset(CalendarDAY_OF_MONTH, 1);
//日期减一,取得上月最后一天时间对象
caladd(CalendarDAY_OF_MONTH, -1);
//输出上月最后一天日期
Systemoutprintln(calget(CalendarDAY_OF_MONTH));
package comdadatest;
import javatextSimpleDateFormat;
import javautilCalendar;
import javautilDate;
/
@author li_yueling
@version 10 2011-03-25
/
public class DateUtil {
/
默认日期格式
/
public static String DEFAULT_FORMAT = "yyyy-MM-dd";
/
测试主方法
@param args
/
public static void main(String[] args) {
for(int i = 1951;i < 1960;i++){
Systemoutprintln(formatDate(getYearFirst(i)));
Systemoutprintln(formatDate(getYearLast(i)));
}
Systemoutprintln(formatDate(getCurrYearFirst()));
Systemoutprintln(formatDate(getCurrYearLast()));
}
/
格式化日期
@param date 日期对象
@return String 日期字符串
/
public static String formatDate(Date date){
SimpleDateFormat f = new SimpleDateFormat(DEFAULT_FORMAT);
String sDate = fformat(date);
return sDate;
}
/
获取当年的第一天
@param year
@return
/
public static Date getCurrYearFirst(){
Calendar currCal=CalendargetInstance();
int currentYear = currCalget(CalendarYEAR);
return getYearFirst(currentYear);
}
/
获取当年的最后一天
@param year
@return
/
public static Date getCurrYearLast(){
Calendar currCal=CalendargetInstance();
int currentYear = currCalget(CalendarYEAR);
return getYearLast(currentYear);
}
/
获取某年第一天日期
@param year 年份
@return Date
/
public static Date getYearFirst(int year){
Calendar calendar = CalendargetInstance();
calendarclear();
calendarset(CalendarYEAR, year);
Date currYearFirst = calendargetTime();
return currYearFirst;
}
/
获取某年最后一天日期
@param year 年份
@return Date
/
public static Date getYearLast(int year){
Calendar calendar = CalendargetInstance();
calendarclear();
calendarset(CalendarYEAR, year);
calendarroll(CalendarDAY_OF_YEAR, -1);
Date currYearLast = calendargetTime();
return currYearLast;
}
}
昨天
Date date=new Date();//取时间Calendar calendar = new GregorianCalendar();
calendarsetTime(date);
calendaradd(calendarDATE,-1);//把日期往后增加一天整数往后推,负数往前移动
date=calendargetTime(); //这个时间就是日期往后推一天的结果
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
String dateString = formatterformat(date);
Systemoutprintln(dateString);
星期一
Calendar cal = CalendargetInstance();int n = calget(CalendarDAY_OF_WEEK) - 1;
if (n == 0) {
n = 7;
}
caladd(CalendarDATE, -(7 + (n - 1)));// 上周一的日期
Date monday = calgetTime();
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
String dateString = formatterformat(monday);
Systemoutprintln(dateString);
本月开始时间
Calendar cal_1=CalendargetInstance();//获取当前日期cal_1add(CalendarMONTH, -1);
cal_1set(CalendarDAY_OF_MONTH,1);//设置为1号,当前日期既为本月第一天
String firstDay = formatformat(cal_1getTime());
Systemoutprintln("-----1------firstDay:"+firstDay);
以上就是关于java如何获取当天的上一个月全部的内容,包括:java如何获取当天的上一个月、JAVA中怎么实现,根据用户输入的年份和月份得到当月第1天(该月1号)、java中定义一个字符串类型的日期 算出这个月的第一天和下个月的第一天。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)