`

一个很有用的时间类

阅读更多
一个很有用的时间类
import   java.util.Calendar;
import   java.util.Date;
import   java.text.*;


public   class   DateDealWith  
{
    public   DateDealWith(){    
    }
        //取得系统当前时间,格式为yyyy-mm-dd
    public   String   getCurrentDate(){
                Calendar   rightNow   =   Calendar.getInstance();
                int   year=rightNow.get(rightNow.YEAR);
                int   month=rightNow.get(rightNow.MONTH)+1;
                int   day=rightNow.get(rightNow.DATE);
                return   year+ "- "+month+ "- "+day;
    }
            //取得系统当前时间,格式为yyyy年mm月dd日
    public   String   getCurrentDate1(){
                Calendar   rightNow   =   Calendar.getInstance();
                int   year=rightNow.get(rightNow.YEAR);
                int   month=rightNow.get(rightNow.MONTH)+1;
                int   day=rightNow.get(rightNow.DATE);
                return   year+ "年 "+month+ "月 "+day+ "日 ";
    }
        //取得系统当前时间前n个月的相对应的一天
    public   String   getNMonthBeforeCurrentDay(int   n){
            Calendar   c   =   Calendar.getInstance();
            c.add(c.MONTH,-n);
            return   " "+c.get(c.YEAR)+ "- "+(c.get(c.MONTH)+1)+ "- "+c.get(c.DATE);

    }
        //取得系统当前时间后n个月的相对应的一天
    public   String   getNMonthAfterCurrentDay(int   n){
            Calendar   c   =   Calendar.getInstance();
            c.add(c.MONTH,n);
            return   " "+c.get(c.YEAR)+ "- "+(c.get(c.MONTH)+1)+ "- "+c.get(c.DATE);

    }    
   
            //取得系统当前时间前n天,格式为yyyy-mm-dd
    public   String   getNDayBeforeCurrentDate(int   n){
                Calendar   c   =   Calendar.getInstance();
                c.add(c.DAY_OF_MONTH,-n);
              return   " "+c.get(c.YEAR)+ "- "+(c.get(c.MONTH)+1)+ "- "+c.get(c.DATE);
    }
                //取得系统当前时间后n天,格式为yyyy-mm-dd
    public   String   getNDayAfterCurrentDate(int   n){
                Calendar   c   =   Calendar.getInstance();
                c.add(c.DAY_OF_MONTH,n);
              return   " "+c.get(c.YEAR)+ "- "+(c.get(c.MONTH)+1)+ "- "+c.get(c.DATE);
    }
    //---------------------------------------------------------------------
            //取过去一个时间对应的系统当年的一天
    public   String   getCurrentDateAfterPastDate(String   sPastDate){
        if(sPastDate!=null   &&   !sPastDate.equals( " ")){
            Date   date=switchStringToDate(sPastDate);
            Calendar   c   =   Calendar.getInstance();
            c.setTime(date);
            int   iPastYear=c.get(c.YEAR);
            Calendar   c1   =   Calendar.getInstance();
            int   iCurrentYear=c1.get(c1.YEAR);
            c.add(c.YEAR,iCurrentYear-iPastYear);
            return   " "+c.get(c.YEAR)+ "- "+(c.get(c.MONTH)+1)+ "- "+c.get(c.DATE);
        }else{
            return   null;
        }
    }
    //-----------------------------------------------------------------
    //将一个日期字符串转化成日期
    public   Date   switchStringToDate(String   sDate){
          Date   date=null;
          try{
              SimpleDateFormat   df=new   SimpleDateFormat( "yyyy-MM-dd ");
              date=df.parse(sDate);
             
          }catch(Exception   e){
              System.out.println( "日期转换失败: "+e.getMessage());
          }
          return   date;
    }

    //输入两个字符串型的日期,比较两者的大小
    public   boolean   compareTwoDateBigOrSmall(String   fromDate,String   toDate){
          Date   dateFrom   =   this.switchStringToDate(fromDate);
          Date   dateTo   =   this.switchStringToDate(toDate);
          if(dateFrom.before(dateTo)){
                return   true;
          }else{
                return   false;
          }
    }
   
    //将一个日期字符串转化成Calendar
    public   Calendar   switchStringToCalendar(String   sDate){
            Date   date   =   switchStringToDate(sDate);
            Calendar   c   =   Calendar.getInstance();
            c.setTime(date);
            return   c;
    }
  //将一个日期转化成Calendar
    public   Calendar   switchStringToCalendar(Date   date){
            Calendar   c   =   Calendar.getInstance();
            c.setTime(date);
            return   c;
    }
//------------------------------------------------------------------------
        //取得某个时间前n个月的相对应的一天
    public   String   getNMonthBeforeOneDay(String   sDate,int   n){
            Calendar   c   =   switchStringToCalendar(sDate);
            c.add(c.MONTH,-n);
            return   " "+c.get(c.YEAR)+ "- "+(c.get(c.MONTH)+1)+ "- "+c.get(c.DATE);

    }
        //取得某个时间后n个月的相对应的一天
    public   String   getNMonthAfterOneDay(String   sDate,int   n){
            Calendar   c   =   switchStringToCalendar(sDate);
            c.add(c.MONTH,n);
            return   " "+c.get(c.YEAR)+ "- "+(c.get(c.MONTH)+1)+ "- "+c.get(c.DATE);

    }    
   
            //取得某个时间前n天,格式为yyyy-mm-dd
    public   String   getNDayBeforeOneDate(String   sDate,int   n){
                Calendar   c   =   switchStringToCalendar(sDate);
                c.add(c.DAY_OF_MONTH,-n);
              return   " "+c.get(c.YEAR)+ "- "+(c.get(c.MONTH)+1)+ "- "+c.get(c.DATE);
    }
                //取得某个时间后n天,格式为yyyy-mm-dd
    public   String   getNDayAfterOneDate(String   sDate,int   n){
                Calendar   c   =   switchStringToCalendar(sDate);
                c.add(c.DAY_OF_MONTH,n);
              return   " "+c.get(c.YEAR)+ "- "+(c.get(c.MONTH)+1)+ "- "+c.get(c.DATE);
    }
    //判断系统当前时间是不是润年
    public   boolean   isRunNian(){
      java.util.Calendar   rightNow   =   java.util.Calendar.getInstance();
      int   year=rightNow.get(rightNow.YEAR);
      if(0==year%4   &&   (year%100!=0   ||   year%400==0)){
            return   true;      
      }else{
            return   false;
      }

    }
}

转载自csnd帖子。
分享到:
评论

相关推荐

    一个完整的PHP时间类.zip

    标题为"一个完整的PHP时间类.zip"的压缩包文件,很显然包含了一个自定义的时间类,用于扩展PHP的内置功能,提供更方便、灵活的日期和时间操作。 首先,让我们理解PHP中的日期和时间处理基础。PHP内建的DateTime类是...

    时间格式化工具类

    5. **比较日期时间**:判断两个日期时间是否相等、前于或后于另一个。 ```java public static boolean isBefore(LocalDateTime datetime1, LocalDateTime datetime2) { return datetime1.isBefore(datetime2); } ...

    php计算页面执行时间的类.zip

    3. 显示时间:类可能还提供一个方法将执行时间转换为可读格式,例如秒数或毫秒,并可以选择性地打印出来。 4. 静态使用:为了方便,这个类可能设计成静态的,这样可以在不实例化对象的情况下直接调用类的方法。 ...

    Java将2个List集合合并到一个List里面并排序工具类

    Java将2个List集合合并到一个List里面并排序工具类 1、Java编程资源,定义了一个名为`ListMerger`的工具类,主要包含一个名为`mergeAndSortLists`的静态方法。此方法用于将两个已经根据时间顺序排列的List合并成一...

    一个Java时间工具类

    为了简化日期和时间的操作,开发者经常创建自定义的工具类,如题目中提到的"一个Java时间工具类"。这个工具类通常包含了一系列静态方法,用于执行各种日期和时间相关的操作。下面我们将详细探讨Java中处理时间的一些...

    当前时间减去确定的时间得到一个时间

    标题和描述提到的“当前时间减去确定的时间得到一个时间”实际上是在谈论计算两个时间点之间的差值,这个差值通常表示为一个时间间隔。在这个过程中,我们可以使用不同的编程语言来实现。下面我们将详细探讨这个主题...

    一个Windows下检测系统空闲时间的类.doc

    通过这个类,我们可以设置一个特定的阈值,当空闲时间超过这个阈值时,系统会触发预设的动作。 `CIdleCheck`类的主要功能如下: 1. **setIdleInterval**: 这个函数允许设置系统空闲时间的阈值,参数为等待的秒数。...

    c#自定义时间做的一个例子

    在这个“c#自定义时间做的一个例子”中,开发者创建了一个功能,通过自定义事件来控制ProgressBar的进度条显示,这在用户界面(UI)更新或者异步操作中非常常见。 首先,我们要理解什么是事件。在C#中,事件是一种...

    VC/MFC CStatic绘制一个时间选择控件

    在Microsoft Visual C++的MFC(Microsoft Foundation Classes)框架中,`CStatic`是一个非常基础的控件类,用于在用户界面中显示静态文本、图片或者其他非交互式内容。然而,有时我们需要创建自定义控件以满足特定...

    GMT格式与普通时间格式转换工具类,可直接使用;附带普通时间类型字符串和时间互相转换的可直接使用的接口

    1. **GMT到普通时间的转换**:工具类可能包含一个静态方法如`gmtToLocal(String gmtTime, String format)`,接受一个表示GMT时间的字符串和一个日期时间格式,返回转换后的本地时间字符串。 2. **普通时间到GMT的...

    c# 时间操作类-大全

    `System.TimeSpan`类则表示一个时间间隔,它可以用来表示两个DateTime之间的差值。TimeSpan可以通过总毫秒、秒、分钟、小时或天数来创建,比如`new TimeSpan(hours, minutes, seconds)`。它也有许多方便的方法,如`...

    自己写的一个C#工具类,功能很简单,但是很实用

    自己写的一个C#工具类,功能很简单,但是很实用,觉得有用就下吧。 主要的方法有:更简单的截取字符串方法, 格式化布尔值返回checkbox或指定的字符串, 格式化日期并以固定格式返回, 传递recordCount和pageSize...

    创建一个桌子类,桌子名称,重量,宽度,长度

    `MyValue` 类是一个简单的类,它有一个私有整型变量 `value`,并提供了两个方法来设置和获取这个值。`setValue(int x)` 是用于设置 `value` 的值,而 `getValue()` 返回 `value` 的当前值。在 `UseValue` 类的 `main...

    有用的类,绝对有用的类 有用的类

    在实际应用中,一个有用的类往往具有以下特点: - 明确的职责:类应该有一个清晰的目的,只负责一项或几项相关任务。 - 封装:隐藏内部实现细节,提供简洁的接口供外部调用。 - 继承和多态:通过继承,子类可以扩展...

    我设计的一个非常有用的动态数组类

    在本项目中,你设计了一个自定义的动态数组类,这个类可能包含了对内存管理、容量调整、元素插入和删除等关键操作的实现。 1. **内存管理**:动态数组的核心是其内存管理机制。通常,它会预分配一部分内存空间,并...

    java 日期操作工具类:包括计算两个时间相差距离多少天多少小时多少分多少秒

    这篇博客文章“java 日期操作工具类:包括计算两个时间相差距离多少天多少小时多少分多少秒”提供了一个实用的工具类,帮助开发者更方便地处理日期和时间差异。下面将详细解释这个工具类中的关键知识点。 1. **Java...

    利用File类的方法,获得某已有文件的最后修改时间.docx

    `File`类提供了`lastModified()`方法,该方法返回一个长整型数值,表示文件最后被修改的时间,单位为毫秒,自1970年1月1日(UTC/GMT的午夜)开始计时。 ### 方法一:直接使用Date类 1. 创建`File`对象,指定文件...

    C++时间类 实现日期和秒之间的转换

    本篇文章将深入探讨如何实现一个自定义的时间类,用于日期与秒之间的相互转换。 首先,我们从日期转为秒的实现开始。在C++中,我们可以使用`std::chrono`库中的`system_clock::time_point`类型来表示时间点。这个...

    c# 用于 时间运算的类

    为了实现自定义时间运算的类,我们可能会创建一个类,包含对DateTime或TimeSpan的操作。例如,我们可以创建一个名为`CustomTimeOperations`的类,提供加减日期、时间差计算等方法: ```csharp public class ...

    Android中ListView中数据按照时间\日期分组(分类)标题可悬浮

    本示例项目"Android中ListView中数据按照时间/日期分组(分类)标题可悬浮"就是针对这种情况的一个解决方案,它模仿了虎扑应用的特性,实现了PinnedSectionListView,即在滚动时保持分组标题悬浮显示,同时没有集成...

Global site tag (gtag.js) - Google Analytics