java 使用Calendar 获取上月时间

java 使用Calendar 获取上月时间,第1张

cadd(CalendarDAY_OF_MONTH,-15)是调用Calendar的抽象方法abstract void add(int Field,int amount)它的作用是根据日历的规则,为给定的日历字段添加或减去指定的时间量。

就是在现有时间的基础上,减去15天,所得到的日期

java Club 108092625

获取指定日期建议使用Calendar ,通过Calendar的add方法你可以设置获取当前日期前多少天,后多少天

比如使用下面的工具类:

String currentData= DateTimeUtilsgetSystemDate() // 返回当前日期,格式为yyyy-MM-dd

String beforeFiveDays = DateTimeUtilsaddDays(currentData, -5); //前五天

String afterFiveDays = DateTimeUtilsaddDays(currentData, 5); //后五天

附上一个工具类:

import javatextParseException;

import javatextSimpleDateFormat;

import javautilCalendar;

import javautilDate;

/

日期时间工具类

/

public final class DateTimeUtil

{

private DateTimeUtil()

{

}

private static String DATE_FORMAT_PATTERN = "yyyyMMdd";

private static String TIME_FORMAT_PATTERN = "HHmmss";

/

转换字符串为日期

@param source

字符串形式的日期表示

@return Date

/

public static Date toDateTime(String source, String pattern)

{

Date date = null;

try

{

SimpleDateFormat dateFormat = new SimpleDateFormat(pattern);

date = dateFormatparse(source);

}

catch (ParseException e)

{

// nothing

}

return date;

}

/

转换字符串为日期

@param source

字符串形式的日期<code>yyyyMMdd</code>

@return Date

/

public static Date toDate(String source)

{

return toDateTime(source, DATE_FORMAT_PATTERN);

}

/

转换字符串为时间

@param source

字符串形式的时间<code>HHmmss</code>

@return Date

/

public static Date toTime(String source)

{

return toDateTime(source, TIME_FORMAT_PATTERN);

}

/

将一种形式的字符串日期转换为另一种形式的字符串日期

@param source

原日期字符串

@param fromPattern

原日期字符串格式

@param toPattern

目标日期字符串格式

@return 新的日期字符串

/

public static String convert(String source, String fromPattern, String toPattern)

{

Date date = toDateTime(source, fromPattern);

if (date == null)

{

return null;

}

SimpleDateFormat dateFormat = new SimpleDateFormat(toPattern);

return dateFormatformat(date);

}

/

在指定的日期上面增加指定的天数

@param source

源日期(yyyyMMdd)

@param days

天数,正负皆可

@return

/

public static String addDays(String source, int days)

{

Date date = toDate(source);

Calendar calendar = CalendargetInstance();

calendarsetTime(date);

calendaradd(CalendarDATE, days);

SimpleDateFormat dateFormat = new SimpleDateFormat(DATE_FORMAT_PATTERN);

return dateFormatformat(calendargetTime());

}

/

在指定的日期上面增加指定的月数

@param source

原日期(yyyyMMdd)

@param months

月数,正负皆可

@return

/

public static String addMonth(String source , int months)

{

Date date = toDate(source);

Calendar calendar = CalendargetInstance();

calendarsetTime(date);

calendaradd(CalendarMONTH, months);

SimpleDateFormat dateFormat = new SimpleDateFormat(DATE_FORMAT_PATTERN);

return dateFormatformat(calendargetTime());

}

/

在指定的日期上面增加指定的年数

@param source

原日期(yyyyMMdd)

@param years

年数,正负皆可

@return

/

public static String addYears(String source, int years)

{

Date date = toDate(source);

Calendar calendar = CalendargetInstance();

calendarsetTime(date);

calendaradd(CalendarYEAR, years);

SimpleDateFormat dateFormat = new SimpleDateFormat(DATE_FORMAT_PATTERN);

return dateFormatformat(calendargetTime());

}

/

返回指定格式的时间字符串

@param format

(返回字符串的格式)

@return dateStr

@throws ParseException

/

public static String getSystemDateTime(String format)

{

Date date = new Date();

SimpleDateFormat simpDate = new SimpleDateFormat(format);

String dateStr = simpDateformat(date);

return dateStr;

}

/

取当前日期,格式yyyyMMdd

@return

/

public static String getSystemDate()

{

return getSystemDateTime(DATE_FORMAT_PATTERN);

}

/

取当前时间,格式HHmmss

@return

/

public static String getSystemTime()

{

return getSystemDateTime(TIME_FORMAT_PATTERN);

}

/

格式化指定日期

@param date

日期

@param pattern

格式串

@return

/

public static String format(Date date, String pattern)

{

SimpleDateFormat simpDate = new SimpleDateFormat(pattern);

String dateStr = simpDateformat(date);

return dateStr;

}

/

格式化指定日期

@param date

日期

@param pattern

格式串

@return

/

public static String format(long date, String pattern)

{

Date date2 = new Date(date);

return format(date2, pattern);

}

}

java里没有一种方法是直接写这种格式化的,都要通过SimpleDateFormat()方法进行转换,可以通过new Date()方法和CalendargetInstance()getTime()方法获得时间,格式如下"Fri Sep 30 16:38:28 CST 2011" 。所有获得时间都要通过SimpleDateFormat()方法转换才会是“2012-05-12 14:28:55”这个样子。

public static void main(String[] s){

curDay(new Date(), "yyyy-MM-dd HH:mm:ss");

}

public static String curDay(Date date, String format) {

if (date != null) {

return new SimpleDateFormat(format)format(date);

}

return null;

}

SimpleDateFormat fmt =new SimpleDateFormat("yyyy-MM-dd");

Date cDate = null;

// 与当前日期相差的天数,如果为+的话则当前日期往后+days天,否则往前-days天

int days = -7;

try {

String pattern = "yyyy-MM-dd";//获取的日期格式

SimpleDateFormat df = new SimpleDateFormat(pattern);

Date today = new Date();//获取当前日期

String currentDate = dfformat(today);//获取当前日期的字符串

Calendar cal=CalendargetInstance();

cDate = fmtparse(currentDate);

calsetTime(cDate);

caladd(CalendarDAY_OF_YEAR,days); //将日期+days获取你想要的日期

currentDate = fmtformat(calgetTime());

Systemoutprintln(currentDate);

} catch (ParseException e) {

eprintStackTrace();

}

以上就是关于java 使用Calendar 获取上月时间全部的内容,包括:java 使用Calendar 获取上月时间、如果在JAVA中获得指定时间、java里面有没有直接获取当前日期的方法等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存