`
fehly
  • 浏览: 245406 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

java对日期的操作技巧

    博客分类:
  • java
阅读更多

     这篇文章是很早很早存机子上的...也是在哪里看到的然后就存了下来.....这几天没看书就发发以前机子上的东西吧

   

    

public class BusinessDate { 

    public BusinessDate() { 
    } 

    /** 
     * 取得当天日期,格式 2009-02-11 
     * @return 
     */ 
    public static String getToday() { 
        java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("yyyy-MM-dd"); 
        Calendar cl = new GregorianCalendar(); 
        return sdf.format(cl.getTime()); 
    } 

    /** 
     * 取得当天日期时间,格式 2009-02-11 23:9:21 
     * @return 
     */ 
    public static String getTodaytime() { 
        Calendar cl = new GregorianCalendar(); 
        return getToday() + " " + cl.get(Calendar.HOUR_OF_DAY) + ":" + cl.get(Calendar.MINUTE) + ":" + cl.get(Calendar.SECOND) + " "; 
    } 

    /** 
     * 取得当前时间,格式 23:12:20 
     * @return 
     */ 
    public static String getTime() { 
        Calendar cl = new GregorianCalendar(); 
        return cl.get(Calendar.HOUR_OF_DAY) + ":" + cl.get(Calendar.MINUTE) + ":" + cl.get(Calendar.SECOND) + " "; 
    } 

    /** 
     * 取得当前小时 
     * @return 
     */ 
    public static int getHour() { 
        Calendar cl = new GregorianCalendar(); 
        return cl.get(Calendar.HOUR_OF_DAY); 
    } 

    /** 
     * 取得当前日期 格式为20090211 
     * @return 
     */ 
    public static String getNoFormatToday() { 
        java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("yyyyMMdd"); 
        Calendar cl = new GregorianCalendar(); 
        return sdf.format(cl.getTime()); 
    } 

    /** 
     * 取得当前时间 格式为231611 
     * @return 
     */ 
    public static String getNoFormatTime() { 
        java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("HHmmss"); 
        Calendar cl = new GregorianCalendar(); 
        return sdf.format(cl.getTime()); 
    } 

    /** 
     * 取得当前年份 
     * @return 
     */ 
    public static String getYear() { 
        return BusinessDate.getNoFormatToday().substring(0, 4); 
    } 

    /** 
     * 取得当前月份 
     * @return 
     */ 
    public static String getMonth() { 
        return BusinessDate.getNoFormatToday().substring(4, 6); 
    } 

    /** 
     * 取得当前日 
     * @return 
     */ 
    public static String getDay() { 
        return BusinessDate.getNoFormatToday().substring(6,8   )   ; 
    } 

    /** 
     * 返回昨天的日期 格式2009-02-10 
     * @return 
     */ 
    public static String getYesterday() { 
        String strYesterday = ""; 
        Calendar cale = null; 
        cale = new GregorianCalendar(); 
        cale.add(Calendar.DATE, -1); 
        strYesterday = BusinessDate.getStrByCalendar(cale); 
        return strYesterday; 
    } 

    public static String getStrByCalendar(Calendar cale) { 
        return (new java.text.SimpleDateFormat("yyyy-MM-dd")).format(cale.getTime()); 
    } 

    /** 
     * 日期字符串的格式转换,例如"2009-02-11"转换为2009年2月11日 
     * @param sDate 
     * @return 
     */ 
    public static String getChnDateString(String sDate) { 
        if (sDate == null) { 
            return null; 
        } 
        sDate = sDate.trim(); 
        if (sDate.length() == 7) { 
            sDate += "-01"; 
        } 
        StringTokenizer st = new StringTokenizer(sDate, "-"); 
        int year = 2100; 
        int month = 0; 
        int day = 1; 
        try { 
            year = Integer.parseInt(st.nextToken()); 
            month = Integer.parseInt(st.nextToken()) - 1; 
            day = Integer.parseInt(st.nextToken()); 
        } catch (Exception e) { 
            e.printStackTrace(); 
        } 
        Calendar cl = new GregorianCalendar(year, month, day); 
        return cl.get(Calendar.YEAR) + "年" + (cl.get(Calendar.MONTH) + 1) + "月" + cl.get(Calendar.DATE) + "日"; 
    } 

    /** 
     * 取得某年某月的最后一天 
     * @param year 
     * @param month 
     * @return 
     */ 
    public static String getMaxDayOfMonth(int year, int month) { 
        Calendar cal = new GregorianCalendar(year, month - 1, 1); 
        cal.set(Calendar.DAY_OF_MONTH, cal.getActualMaximum(Calendar.DAY_OF_MONTH)); 
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); 
        return sdf.format(cal.getTime()); 
    } 

    /** 
     * 取得某年某月的第一天 
     * @param year 
     * @param month 
     * @return 
     */ 
    public static String getMinDayOfMonth(int year, int month) { 
        Calendar cal = new GregorianCalendar(year, month - 1, 1); 
        cal.set(Calendar.DAY_OF_MONTH, cal.getActualMinimum(Calendar.DAY_OF_MONTH)); 
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); 
        return sdf.format(cal.getTime()); 
    } 

    /** 
     * 取得当天的中文日期,像2006年11月28日 星期二 
     * @return 
     */ 
    public static String getChineseToDay() { 
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 E", Locale.CHINESE); 
        Calendar cl = new GregorianCalendar(); 
        return sdf.format(cl.getTime()); 
    } 

    /** 
     * 取得当天的中文日期,像2006年11月28日 星期二 下午05:06 
     * @return 
     */ 
    public static String getChineseToDayTime() { 
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 E a", Locale.CHINESE); 
        Calendar cl = new GregorianCalendar(); 
        return sdf.format(cl.getTime()); 
    } 

    /** 
     * 根据字符串,取得日期类 
     * @param sDate 
     * @return 
     */ 
    public static Calendar getDate(String sDate) { 
        if (sDate == null) { 
            return null; 
        } 
        sDate = sDate.trim(); 
        if (sDate.length() == 7) { 
            sDate += "-01"; 
        } 
        StringTokenizer st = new StringTokenizer(sDate, "-"); 
        int year = 2100; 
        int month = 0; 
        int day = 1; 
        try { 
            year = Integer.parseInt(st.nextToken()); 
            month = Integer.parseInt(st.nextToken()) - 1; 
            day = Integer.parseInt(st.nextToken()); 
        } catch (Exception e) { 
            e.printStackTrace(); 
        } 
        return new GregorianCalendar(year, month, day); 
    } 

    /** 
     * 根据日期类取得日期的字符串形式 
     * @param sDate 
     * @return 
     */ 
    public static String getDateString(Calendar sDate) { 
        if (sDate == null) { 
            return ""; 
        } 
        return (new java.text.SimpleDateFormat("yyyy-MM-dd")).format(sDate.getTime()); 
    } 

    /**根据日期类取年月的字符串形式 
     * @param sDate 
     * @return 
     */ 
    public static String getYearMonth(Calendar sDate) { 
        if (sDate == null) { 
            return ""; 
        } 
        return (new java.text.SimpleDateFormat("yyyy-MM")).format(sDate.getTime()); 
    } 
    
    /**比较两个日期类型的字符串,格式为(yyyy-mm-dd) 
     * 如果cale1大于cale2,返回1 
     * 如果cale1小于cale2,返回-1 
     * 如果相等,返回0 
     * 如果格式错误,返回-2 
     * @param cale1 
     * @param cale2 
     * @return 
     */ 
    public static int compareCalendar(String cale1, String cale2) { 
        Calendar calendar1 = getDate(cale1); 
        Calendar calendar2 = getDate(cale2); 
        if (calendar1 == null || calendar2 == null) { 
            return -2; 
        } 
        return calendar1.compareTo(calendar2); 
    } 
} 

 

分享到:
评论

相关推荐

    java技巧

    java对日期操作技巧

    java源码包---java 源码 大量 实例

    Java日期选择控件完整源代码 14个目标文件 内容索引:JAVA源码,系统相关,日历,日期选择  Java语言开发的简洁实用的日期选择控件,源码文件功能说明:  [DateChooser.java] Java 日期选择控件(主体类) [public]  ...

    java源码包4

    Java日期选择控件完整源代码 14个目标文件 内容索引:JAVA源码,系统相关,日历,日期选择  Java语言开发的简洁实用的日期选择控件,源码文件功能说明:  [DateChooser.java] Java 日期选择控件(主体类) [public] ...

    java源码包3

    Java日期选择控件完整源代码 14个目标文件 内容索引:JAVA源码,系统相关,日历,日期选择  Java语言开发的简洁实用的日期选择控件,源码文件功能说明:  [DateChooser.java] Java 日期选择控件(主体类) [public] ...

    JAVA上百实例源码以及开源项目

    Java日期选择控件完整源代码 14个目标文件 内容索引:JAVA源码,系统相关,日历,日期选择  Java语言开发的简洁实用的日期选择控件,源码文件功能说明:  [DateChooser.java] Java 日期选择控件(主体类) [public]  ...

    JAVA上百实例源码以及开源项目源代码

    Java日期选择控件完整源代码 14个目标文件 内容索引:JAVA源码,系统相关,日历,日期选择  Java语言开发的简洁实用的日期选择控件,源码文件功能说明:  [DateChooser.java] Java 日期选择控件(主体类) [public]  ...

    java获取昨天日期字符串的方法

    主要介绍了java获取昨天日期字符串的方法,涉及java针对日期与时间的运算与转换等相关操作技巧,需要的朋友可以参考下

    java源码包2

    Java日期选择控件完整源代码 14个目标文件 内容索引:JAVA源码,系统相关,日历,日期选择  Java语言开发的简洁实用的日期选择控件,源码文件功能说明:  [DateChooser.java] Java 日期选择控件(主体类) [public] ...

    Java正则判断日期格式是否正确的方法示例

    主要介绍了Java正则判断日期格式是否正确的方法,结合实例形式分析了Java针对日期字符串正则判断的相关操作技巧,需要的朋友可以参考下

    JAVA时间日期处理类实例

    主要介绍了JAVA时间日期处理类,可实现遍历两个日期之间的每一天的功能,涉及针对日期的常见操作技巧,需要的朋友可以参考下

    java基于正则表达式实现时间日期的常用判断操作实例

    主要介绍了java基于正则表达式实现时间日期的常用判断操作,简单说明了正则表达式常用元字符含义并结合实例形式分析了java基于正则表达式针对常用日期时间格式的判断操作技巧,需要的朋友可以参考下

    Java日期操作类常见用法示例

    主要介绍了Java日期操作类常见用法,结合实例形式分析了java针对日期时间的获取、转换常见操作技巧,需要的朋友可以参考下

    Java实现将数字日期翻译成英文单词的工具类实例

    主要介绍了Java实现将数字日期翻译成英文单词的工具类,结合完整实例形式分析了Java日期转换与字符串操作相关实现技巧,需要的朋友可以参考下

    成百上千个Java 源码DEMO 4(1-4是独立压缩包)

    Java日期选择控件完整源代码 14个目标文件 内容索引:JAVA源码,系统相关,日历,日期选择 Java语言开发的简洁实用的日期选择控件,源码文件功能说明: [DateChooser.java] Java 日期选择控件(主体类) [public] ...

    Java基础知识点总结.docx

    <java.lang>.Date:日期类,月份从0—11 92 <java.lang> Calendar:日历类 93 十六、 IO流:用于处理设备上数据 ★★★★★ 94 IO流的概念 95 字符流与字节流 98 流对象 101 File类 102 Java.util.Properties 103 ...

    《Java并发编程的艺术》源代码

    Java线程之间的通信对程序员完全透明,内存可见性问题很容易困扰Java程序员,本章试图揭开Java内存模型的神秘面纱。 第4章从介绍多线程技术带来的好处开始,讲述了如何启动和终止线程以及线程的状态,详细阐述了多...

    java jdk实列宝典 光盘源代码

    12反射 是java程序开发的特征之一,允许java程序对自身进行检查,并能直接操作程序的内部属性; instanceof操作符,instanceof.java; 获取类的信息,ViewClassInfoJrame.java; 动态调用类的方法,CallMetod.java; ...

    写给大忙人看的Java SE 8

    第5章详细介绍了Java新增的日期/时间API;第6章介绍了原子计数器、并发哈希映射、并行数组操作等特性中的改进;第7章介绍了如何在Java虚拟机上执行JavaScript,以及如何与Java代码进行交互操作;第8章描述了Java 8中...

Global site tag (gtag.js) - Google Analytics