分享

一个JAVA操作日期的工具类包含日期格式化,日期对比等。

 smoking_boy 2006-01-19
java操作日期比较麻烦,和ASP比就可以说是相当麻烦了。。这里我把自己常用的几个操作日期相关的方法编译成一个工具类,之后就可以在工程里面直接调用这些方法了。。
程序代码:
/*
 * Created on 2005-6-28
 * Made In GamVan
 */

package com.gamvan.tools;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;

public class FormatDateTime {
    
    /**
     * 日期类操作工具
     * @author GamVan by 我容易么我
     * Powered by GamVan.com
     */

    public static String formatDateTime(String ymd){
        //格式化当前时间
        java.text.SimpleDateFormat isNow = new java.text.SimpleDateFormat(ymd);
        String now = isNow.format(new java.util.Date());
        return now;
    }
    
    public static String formatDateTime(String ymd, String datetime){
        //格式化当前时间
        java.text.SimpleDateFormat isNow = new java.text.SimpleDateFormat(ymd);
        String now = "";
        try{
            isNow.format(datetime);
        }catch(Exception e){
            e.printStackTrace();
        }
        return now;
    }
    
    /* 比较当前日期和指定日期 return boolean
     * 如果当前日期在指定日期之后返回true否则返回flase
  */

    public static boolean dateCompare(String str){
        boolean bea = false;
        SimpleDateFormat sdf_d = new SimpleDateFormat("yyyy-MM-dd");
        String isDate = sdf_d.format(new java.util.Date());
        java.util.Date date1;
        java.util.Date date0;
        try {
            date1 = sdf_d.parse(str);
            date0= sdf_d.parse(isDate);
            if(date0.after(date1)){ 
                bea = true;
            }
        } catch (ParseException e) {
            bea = false;
        }
        return bea;
    }
    
    
    /*
     * 比较当前月份和指定月份
     * 如果当前月份在指定月份之后返回true否则返回flase
     */

    public static boolean monthCompare(String str){
        boolean bea = false;
        SimpleDateFormat sdf_m = new SimpleDateFormat("yyyy-MM");
        String isMonth = sdf_m.format(new java.util.Date());
        java.util.Date date1;
        java.util.Date date0;
        try {
            date1 = sdf_m.parse(str);
            date0= sdf_m.parse(isMonth);
            if(date0.after(date1)){ 
                bea = true;
            }
        } catch (ParseException e) {
            bea = false;
        }
        return bea;
    }
    
    /* 比较当前日期和指定日期 return boolean
     * 如果当前日期在指定日期之后返回true否则返回flase
    */

    public static boolean secondCompare(String str){
        boolean bea = false;
        SimpleDateFormat sdf_d = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String isDate = sdf_d.format(new java.util.Date());
        java.util.Date date1;
        java.util.Date date0;
        try {
            date1 = sdf_d.parse(str);
            date0= sdf_d.parse(isDate);
            if(date0.after(date1)){ 
                bea = true;
            }
        } catch (ParseException e) {
            bea = false;
        }
        return bea;
    }
    

    /**
     * 比较指定两日期如果str1晚于str2则return true;
     * @param str1
     * @param str2
     * @return
     */

    public static boolean secondCompare(String str1, String str2){
        boolean bea = false;
        SimpleDateFormat sdf_d = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        java.util.Date date1;
        java.util.Date date0;
        try {
            date1 = sdf_d.parse(str1);
            date0= sdf_d.parse(str2);
            if(date0.after(date1)){ 
                bea = true;
            }
        } catch (ParseException e) {
            bea = false;
        }
        return bea;
    }

    /**
     * 设置间隔数后返回时间
   * @param type 间隔类型 秒或者天
   * @param  间隔数字 比如1秒或者一天
     * @return
     */

    public static String dateAdd(String type, int i){
        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String str = formatDateTime("yyyy-MM-dd HH:mm:ss");
        Calendar c = Calendar.getInstance();   // 当时的日期和时间
        if(type.equals("s")){
            int s = c.get(Calendar.SECOND);
            s = s + i;
            c.set(Calendar.SECOND, s);
            str = df.format(c.getTime());
        }
        else if(type.equals("d")){
            int d = c.get(Calendar.DAY_OF_MONTH);  // 取出“日”数
            d = d + i;
            c.set(Calendar.DAY_OF_MONTH, d);       // 将“日”数设置回去
            str = df.format(c.getTime());
        }        
        return str;        
    }
    
   /* test 
    public static void main(String args[]){
        String s1 = FormatDateTime.formatDateTime("yyyy-MM-dd","2005-10-12");
        System.out.println(s1);
    }
   */

    
}

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多