现在的位置: 首页 > 综合 > 正文

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

2013年05月13日 ⁄ 综合 ⁄ 共 3403字 ⁄ 字号 评论关闭

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"));
 }

}
 

抱歉!评论已关闭.