`
wenqiang06ky
  • 浏览: 70418 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

时间处理:获取延迟或者之前的时间

    博客分类:
  • JAVA
阅读更多
直接上代码:

public class DateUtil {
 /**
   * 获取延迟后的时间
   * 
   * @param date
   *          需要处理的时间
   * 
   * @param timeTypeEnum
   *          时间类型
   * 
   * @param delta
   *          需要顺延的时间变量
   * 
   * @return Date
   * */
  public static Date getContinueDate(Date date, TimeTypeEnum timeTypeEnum, int delta) {
    if (null == date) {
      return null;
    }

    // 向后顺延相应的天数
    Calendar calendar = new GregorianCalendar();
    calendar.setTime(date);

    if (timeTypeEnum == TimeTypeEnum.DAY) {
      calendar.add(calendar.DATE, delta); // 把日期往后增加N天, 正数往后推,负数往前移动
    } else if (timeTypeEnum == TimeTypeEnum.HOUR) {
      calendar.add(calendar.HOUR, delta);// 把日期往后增加N小时, 正数往后推,负数往前移动
    } else if (timeTypeEnum == TimeTypeEnum.MINUTE) {
      calendar.add(calendar.MINUTE, delta);// 把日期往后增加N分钟, 正数往后推,负数往前移动
    } else if (timeTypeEnum == TimeTypeEnum.MONTH) {
      calendar.add(calendar.MONTH, delta); // 把日期往后增加N个月, 正数往后推,负数往前移动
    } else if (timeTypeEnum == TimeTypeEnum.YEAR) {
      calendar.add(calendar.YEAR, delta); // 把日期往后增加N年, 正数往后推,负数往前移动
    }

    return calendar.getTime();
  }
}

/**
 * 时间类型枚举类
 * 
 * */
public enum TimeTypeEnum {

  YEAR(1, "年"), MONTH(2, "月"), DAY(3, "日"), HOUR(4, "小时"), MINUTE(5, "分"), SECOND(6, "秒");

  private int    timeType;
  private String desc;

  private TimeTypeEnum(int timeType, String desc) {
    this.timeType = timeType;
    this.desc = desc;
  }

  public int getTimeType() {
    return timeType;
  }

  public void setTimeType(int timeType) {
    this.timeType = timeType;
  }

  public String getDesc() {
    return desc;
  }

  public void setDesc(String desc) {
    this.desc = desc;
  }

}

0
1
分享到:
评论

相关推荐

    AT指令处理程序 配送ESP8266模块驱动已经串口DMA空闲中断接收

    at_wait_cmd 等待一个AT指令集或者超时则立刻返回 等待途中会不断调用OS的延迟程序 让系统能有时间去执行其他任务 使用方法例如{ at_send_cmd("AT+UART=%u,%u,%u,%u,%u\r\n",baudrate,databit,stopbit,parity,...

    Oracle9i的init.ora参数中文说明

    说明: 确定查询是否获取表级的读取锁, 以防止在包含该查询的事务处理被提交之前更新任何对象读取。这种操作模式提供可重复的读取, 并确保在同一事务处理种对相同数据的两次查询看到的是相同的值。 值范围: TRUE | ...

    从无到有搭建中小型互联网公司后台服务架构与运维架构

    系统的吞吐量,指系统在某一时间可以处理的数据总量,通常可以用系统每秒处理的总的数据量来衡量;系统的并发能力,指系统可以同时完成某一功能的能力,通常也用QPS(query per second)来衡量。 3、 高可用:系统的...

    最强的屏幕截图软件 SnagIt V10.0.1.58 汉化破解版

    更新时间:2011-12-06 SnagIt屏幕截图截屏是使用电脑中最常运用到的功能之一,而系统自带的截图或者我们经常使用到的QQ截图功能并不能在所有窗口中都能截取画面,一些特殊的窗口,如:DOS屏幕;RM电影、游戏画面等...

    Snagit10.0汉化版(最好的抓图软件)

    选择捕获时间给自己设立的捕捉之前的时间延迟。菜单捕获总是使用的时间延迟。 选择参考的进口,以保持与源文件的图形。 FrameMaker中存储的路径,文件中的源文件。如果您编辑的源文件,FrameMaker中更新文件的最新...

    xheditor-1.1.14

    hoverExecDelay:悬停自动执行延迟的时间 参数:数值(单位毫秒),默认为100,设置为-1关闭此功能 备注:1.0.0 rc2新添加 defLinkText:超链接的默认文字 参数值:字符串(默认值:“点击打开链接”) 说明:只在不选择...

    libusb-1.0.9

    端点是以他们的端点数目(取决于设计的时间),总线宽带,访问频率,延迟和处理错误要求为特征区分的。 一旦设备里的端点识别并且配置完毕,管道就产生允许客户端软件与设备进行通讯。跟一个管道产生联系是以对总线...

    Java并发编程(学习笔记).xmind

    (4)用户界面具备更短的响应时间:现代GUI框架中大都使用一个事件分发线程(类似于中断响应函数)来替代主事件循环,当用户界面用有事件发生时,在事件线程中将调用对应的事件处理函数(类似于中断处理函数) ...

    入门学习Linux常用必会60个命令实例详解doc/txt

    -p,--preserve-timestamps:以<来源>文件的访问/修改时间作为相应的目的地文件的时间属性。 -s,--strip:用strip命令删除symbol table,只适用于第一及第二种使用格式。 -S,--suffix=后缀:自行指定...

    jquery插件使用方法大全

    可以用来添加不向外部公开的方法,或者对jQuery的某些方法进行重新定义以提供新功能,或者提供更好的封装、避免名称空间冲突。当然,也可以用来开发插件,但Resig强烈建议在开发插件之前,先考虑jQuery UI widget...

    测试培训教材

    项目管理员可以使用QC的Excel插件工具来执行需求的批量导入,进行导入之前请先确认已经访问过MQC主页,并安装了QCMSExcelAddin.exe插件。 插件下载地址: http://updates.merc-int.com/qual ... /msexcel/index.html...

    Spring面试题

    Execute()从ActionForm对象中获取数据,完成业务逻辑,返回一个ActionForward对象,ActionServlet再把客户请求转发给ActionForward对象指定的jsp组件,ActionForward对象指定的jsp生成动态的网页,返回给客户。...

    计算机理论第一章详细透彻 支持格式WORD

    模拟声音信号在需要通过中继线和长途线进行远距离传输之前,先变换为数字形式(此过程称为“数字化”或“PCM编码”)然后经过多路复用和数字调制(需要时)再在中继线和长途线路上进行传输。到达接收方所在的地区的...

    ExtAspNet_v2.3.2_dll

    -修正了在Grid的PageIndexChange事件中不能获取SelectedRowIndexArray属性的BUG(feedback:Violet)。 -Button控件将不再自动拥有display:inline属性,如果希望两个按钮在一行显示,请为第一个按钮设置CssStyle=...

    表单的验证

    例如,在一个发送请求到服务端的应用中,必须包含请求顺序、优先级、超时响应、错误处理及回调,其中许多元素已经在Web服务中包含了,就像现在的SOA。AJAX开发人员拥有一个完整的系统架构知识。同时,随着技术的成熟...

    ExtAspNet v2.2.1 (2009-4-1) 值得一看

    -修正了在Grid的PageIndexChange事件中不能获取SelectedRowIndexArray属性的BUG(feedback:Violet)。 -Button控件将不再自动拥有display:inline属性,如果希望两个按钮在一行显示,请为第一个按钮设置CssStyle=...

    C#5.0本质论第四版(因文件较大传的是百度网盘地址)

    1.3.1 从控制台获取输入 11 1.3.2 将输出写入控制台 12 1.3.3 注释 14 1.3.4 托管执行和公共语言基础结构 16 1.3.5 C#和.NET版本 17 1.3.6 CIL和ILDASM 18 1.4 小结 20 第2章 数据...

    vss如何使用(图解)

    l 组内合作——在缺省的情况下,一般一个文件在某一时间只允许一个用户对其进行修改,这样可以防止文件意外地被其他用户改动或者覆盖。但管理员可以改动这种缺省的设置,允许文件多层签出。这种设置也能防止过多的、...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    Access 微软 Access是一种桌面数据库,只适合数据量少的应用,在处理少量 数据和单机访问的数据库时是很好的,效率也很高 小型企业 三、 Oracle数据库概述 ORACLE数据库系统是美国ORACLE公司(甲骨文)提供的以...

    二十三种设计模式【PDF版】

    主要是介绍各种格式流行的软件设计模式,对于程序员的进一步提升起推进作用,有时间可以随便翻翻~~ 23种设计模式汇集 如果你还不了解设计模式是什么的话? 那就先看设计模式引言 ! 学习 GoF 设计模式的重要性 ...

Global site tag (gtag.js) - Google Analytics