
可以使用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中获取当前时间的前几个月等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)