java 日期 格式 前多少天, 后多少天的获取方法,日期工具类 星期


import java.util.Date;
import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.util.Calendar;

public class DateUtils {

public static DateUtils dateUtils = new DateUtils();

public static DateUtils getInstance() {
return dateUtils;
}

/**
* 获取比当前日期早多少天或者晚多少天的日期 例如 前五天 -5 后五天 5
* @param days
* @param format 返回日期的格式
* @return 格式化好的字符串
*/
public static String DateBefAft(int days,String format){
//
if(format==null || "".equals(format))
format="yyyy-MM-dd";
Calendar now = Calendar.getInstance();
SimpleDateFormat formatter = new SimpleDateFormat(format);
now.add(Calendar.DAY_OF_YEAR,-days);
return formatter.format(now.getTime());
}

/**
* 格式化 Date 类型的日期
* @param date 传入日期
* @param format 设定日期的显示格式 默认 2006-12-25
* @return 格式化后的日期
*/
public static String DatetoString(Date date,String format){
if(format==null || "".equals(format))
format="yyyy-MM-dd";
SimpleDateFormat formatter = new SimpleDateFormat(format);
return formatter.format(date);
}

/**
* 格式化 Timestamp 类型的日期
* @param timestamp 传入日期
* @param format 设定日期的显示格式 默认 2006-12-25
* @return 格式化后的日期
*/
public static String TimestamptoString(Timestamp timestamp,String format){
if(format==null || "".equals(format))
format="yyyy-MM-dd";
SimpleDateFormat formatter = new SimpleDateFormat(format);
return formatter.format(timestamp);
}
/**
* 这个方法用来获取当前的时间,非静态方法
* @param format 参数说明 format=""时 返回当前日期时间如2007-03-14 13:55:24 传入8则显示8位日期格式,传入10则显示10位日期格式,传入0则无格式,month则返回月份,year则显示年份,day显示几号,time返回时间,cntime中文完整日期,montime阴历,jq节气
* @return
*/
public String getNowtime(String format) {//传入8则显示8位日期格式,传入10则显示10位日期格式,传入0则无格式,month则返回月份,year则显示年份,day显示几号,time返回时间,cntime中文完整日期,montime阴历,jq节气
//获取当前的时间
Calendar now = Calendar.getInstance();
int iMonth = now.get(Calendar.MONTH) + 1 ;
String month = iMonth + "";
month=month.length()==1?"0"+month:month;
String year = now.get(Calendar.YEAR) + "";
String day = now.get(Calendar.DATE) + "";
day=day.length()==1?"0"+day:day;
String hour = now.get(Calendar.HOUR_OF_DAY) + "";
hour=hour.length()==1?"0"+hour:hour;
String minute = now.get(Calendar.MINUTE) + "";
minute=minute.length()==1?"0"+minute:minute;
String second = now.get(Calendar.SECOND) + "";
second=second.length()==1?"0"+second:second;
if ( "month".equals(format )) return month;
else
if ( "year".equals(format )) return year;
else
if ( "day".equals(format )) return day;
else
if ( "time".equals(format )) return hour +":" + minute +":" + second;
else if ( "cntime".equals(format )) {
String cntime = year + "年" + month + "月" + day + "日";
return cntime;
}
else if ( "montime".equals(format )) {
return MonTime.newInstance().getMonTime();
}
else if ( "jq".equals(format )) {
return ChineseCalendarGB.getInstance().getJQ();
}
else if ( "week".equals(format )) {
int week = now.get(Calendar.DAY_OF_WEEK);
switch (week) {
case 1:
return "日";
case 2:
return "一";
case 3:
return "二";
case 4:
return "三";
case 5:
return "四";
case 6:
return "五";
case 7:
return "六";
}
return "";
}
else if ( "8".equals( format ))
return year + month + day;
else if ("10".equals ( format ))
return year+"-" + month +"-" + day;
else return year+"-" + month +"-" + day + " "+ hour +":" + minute +":" + second;
}

public static void main(String[] args) {
// TODO 自动生成方法存根
System.out.println(DateBefAft(0,"yyyyMMdd"));
Date dat=new Date();
System.out.println(DatetoString(dat,"yyyyMMdd"));
Timestamp timestamp=new Timestamp(106,05,06,1,1,1,1);
System.out.println(DatetoString(timestamp,"yyyyMMdd"));
}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值