`
fehly
  • 浏览: 248638 次
  • 性别: 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.util.Date`类或`java.time`包中的类来创建。`Date`类是较早的API,而`java.time`包(自Java 8引入)...

    JAVA日期与字符串的转换

    ### JAVA日期与字符串的转换 在Java编程中,经常需要将日期对象转化为字符串形式以便于存储或显示,或者反过来将字符串转化成日期对象来进行日期计算等操作。本文将详细介绍如何在Java中实现这两种转换。 #### 一...

    Java常用日期辅助类

    在Java编程中,日期处理是常见的任务之一。Java提供了多种日期辅助类来帮助开发者进行日期时间的操作和格式化。...通过阅读`DateHelper.java`的源码,我们可以学习到更多关于日期处理的技巧和最佳实践。

    java对Excel的操作

    在实际开发中,理解并熟练掌握Java对Excel的操作至关重要,无论是简单的数据读取还是复杂的格式处理,都可以借助这些工具和技巧高效完成。同时,也要注意处理好性能与功能之间的平衡,确保程序的稳定性和效率。

    java Swing日期控件

    Java Swing 是 Java GUI(图形用户界面)库的一部分,它提供了丰富的组件来构建桌面应用程序。...同时,理解并应用文档中的提示和技巧将帮助你更有效地利用这个日期控件,提升你的Java Swing 应用程序的用户体验。

    Java 获取日期时间代码

    本文将详细介绍几种常用的Java日期时间获取方法,包括如何获取完整日期时间、仅获取时间部分(时分秒)、获取日期部分以及如何获取时间戳。此外,我们还将探讨如何使用自定义格式来获取日期时间。 #### 二、基本...

    java日期处理大全

    #### 一、利用Calendar类进行日期操作 1. **初始化Calendar对象**: ```java Calendar time = Calendar.getInstance(); time.clear(); ``` 此处的`clear()`方法将Calendar对象重置为默认值,即1970年1月1日00:...

    java编程技巧典型案例解析

    Java编程技巧典型案例解析 在Java编程领域,掌握高效、实用的编程技巧对于提升代码质量、优化性能以及...同时,持续关注Java新特性,如Java 8及后续版本引入的模块系统、时间日期API等,也是提升编程能力的重要途径。

    java时间操作大集合

    在实际开发中,理解并熟练掌握这些时间操作技巧是至关重要的,因为它们涉及到数据记录、日志处理、用户界面显示、任务调度等多个方面。同时,随着Java版本的更新,比如Java 8引入的 `java.time` API,提供了更直观、...

    日期操作,转日期格式,加减日期,日期详解

    本篇文章将详细探讨日期操作、转日期格式以及加减日期的技巧。 首先,让我们来看看“日期操作”。在编程中,日期通常被表示为特定的日期类对象,例如Java中的`java.util.Date`或`java.time.LocalDate`。这些类提供...

    日期计算器java日期计算器java.doc

    6. **日期操作**:使用`Calendar`类的方法,如`add()`,对日期进行增加或减少天数的操作。`SimpleDateFormat`用于将`Calendar`对象转换为用户友好的日期字符串。 7. **错误处理**:确保输入的合法性,如防止负数...

    暑期培训学习笔记之 java\日期排序

    掌握Java中的日期排序技巧是每个开发者必备的技能之一。理解如何创建、格式化、比较和排序日期,以及如何应对各种场景,将有助于编写高效且易维护的代码。不断实践和学习新的时间日期API,能让你在处理日期相关问题...

    JAVA日期格式大全

    `JAVA日期格式大全`这个主题涵盖了许多关于在Java中如何格式化、解析和操作日期的技巧和方法。这篇博客文章,虽然链接未提供具体内容,但我们可以根据常规知识和Java API来探讨日期和时间处理的关键知识点。 1. **...

    Java日期格式化及其使用例子收集

    ### Java日期格式化详解及其应用实例 #### 一、引言 在Java开发过程中,日期时间的处理是一项非常常见的需求。对于日期时间的格式化、解析等操作,`SimpleDateFormat` 类提供了强大的支持。本文将详细介绍`...

    java 技巧 与 实例

    在学习Java时,掌握一些实用技巧和常见实例能显著提高编程效率。以下是一些关键知识点的详细解释: 1. **字符串处理**: - `String.trim()`:这个方法用于去除字符串两端的空白字符。例如,`String b = " hello ...

    Java代码常用技巧

    ### Java代码常用技巧:Oracle数据库表操作返回值处理方法 #### 概述 在实际的软件开发工作中,处理数据库查询结果是一项常见的任务。本篇主要介绍如何利用Java语言结合Oracle数据库进行表操作,并通过示例代码...

    Java8时间和日期API20例Java开发Java经验技

    10. **DayOfWeek** 和 **Month**: 这两个枚举类型分别用于表示一周中的某一天和一年中的某个月份,方便进行日期操作。 在实际开发中,这些类和接口可以用来解决很多常见的时间和日期问题,例如计算两个日期之间的...

    Java实现的日历功能完整示例

    本文主要介绍了Java实现的日历功能,结合完整实例形式分析了Java日历功能相关的日期时间获取、计算、显示等操作技巧。下面将详细讲解标题、描述、标签和部分内容中所涉及的知识点。 标题: Java实现的日历功能完整...

    Java8新特性终极指南Java开发Java经验技巧共27

    5. **日期与时间API**:Java 8对日期和时间API进行了全面重构,提供了`java.time`包,包括`LocalDate`, `LocalTime`, `LocalDateTime`, `ZonedDateTime`等类,取代了旧的`java.util.Date`和`java.util.Calendar`,...

    Java8的6个问题Java开发Java经验技巧共5页.p

    Stream API提供了对集合操作的新方法,如filter、map和reduce,使得数据处理更加高效和易读。例如,我们可以通过以下方式筛选出列表中长度大于3的字符串: ```java list.stream() .filter(s -> s.length() > 3) ....

Global site tag (gtag.js) - Google Analytics