java如何获取当天的上一个月

java如何获取当天的上一个月,第1张

可以通过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中定义一个字符串类型的日期 算出这个月的第一天和下个月的第一天。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存