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里面有没有直接获取当前日期的方法等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)