`
wenqiang06ky
  • 浏览: 71727 次
  • 性别: 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
分享到:
评论

相关推荐

    来自传递函数的不同时间响应参数:获取延迟时间、上升时间、峰值时间、最大过冲、稳态误差和稳定性的值-matlab开发

    本文将深入探讨如何利用MATLAB来获取一个系统的时间响应参数,包括延迟时间、上升时间、峰值时间、最大过冲、稳态误差以及稳定性评估。这些参数对于理解系统的动态行为和性能至关重要。 首先,延迟时间(settling ...

    vc 获取网络时间 获取北京时间

    在VC++ MFC环境下,获取网络时间,尤其是北京时间,是编程实践中常见的需求,这主要涉及到网络编程和时间处理。下面将详细讲解如何实现这一功能。 首先,我们需要理解网络时间(NTP,Network Time Protocol)是一种...

    vC++获取网络时间

    在实际编程中,你可能会遇到网络延迟、超时、错误处理等问题,需要适当地添加错误检查和异常处理代码。同时,为了提高效率和准确性,还可以考虑使用异步I/O或者多线程技术。 最后,从提供的文件名"timeGetter"来看...

    实现Esp8266通过Mqtt协议连接阿里云平台并实现数据的上传和下发,时间和天气获取

    在本文中,我们将深入探讨如何使用ESP8266微控制器通过MQTT协议与阿里云物联网平台进行交互,实现数据的上传和下载,以及获取实时时间和天气信息。ESP8266因其低成本、高性能和易用性,在物联网(IoT)项目中被广泛...

    获取站点的各类响应时间(dns解析时间,响应时间,传输时间)

    预传输时间是从发出请求到真正开始传输数据之前的时间,包括了DNS解析和连接建立的总时间。 5. 总时间(Total Time): 总时间是从发起请求到接收完所有数据所需的时间,包含了上述所有阶段。 6. 数据量(Size ...

    javascript获取系统当前时间的方法

    在JavaScript中,获取系统当前时间是一项常见的任务,尤其在网页应用中用于显示实时的时间戳或者进行日期相关的操作。本文将详细讲解如何使用JavaScript获取并显示系统当前时间。 首先,JavaScript中的`Date`对象是...

    Android-LatencyUtils-延迟测量和报告的工具类

    例如,假设你想要测量某个操作的执行时间,可以在操作开始前调用`System.nanoTime()`获取当前时间,然后在操作结束后调用`LatencyUtils.elapsedSince(startNanoTime)`,其中`startNanoTime`是之前获取的时间戳。...

    为jquery的ajax请求添加超时timeout时间的操作方法

    在上述代码中,我们首先使用setTimeout函数实现延时调用,这样可以在发起请求之前等待一段预设的时间。如果checkLoading函数在没有设置延时参数的情况下被调用,那么默认等待1秒钟。 除了设置超时时间以外,我们还...

    CSS_style属性大全

    - **功能**: 设置或获取时间线在该元素上播放前的延迟时间。 - **语法**: `begin: [time-value]` - **说明**: 在动画或时间线上,此属性用于定义元素何时开始播放。可以用来实现动画的延时启动效果。 **6. ...

    linux-time.rar_Time

    - **同步和通信**:在多线程和网络编程中,时间同步至关重要,如心跳检测、延迟计算等。 2. **Linux时间类型** - **time_t**:这是Unix时间戳的标准类型,表示自1970年1月1日(UTC)以来的秒数。 - **struct ...

    在EMC VNX 存储上配置时间服务.pdf

    除了基本的时间同步外,VNX的时间服务还可能涉及设置闰秒处理、日志记录和监控等功能,确保系统时间与实际时间保持一致。 在配置VNX的时间服务时,要考虑到所有这些概念,并根据你的具体需求进行定制。在进行任何...

    图片懒加载(延迟加载)

    2. **数据占位符**:在图片实际加载之前,我们可以使用一个小尺寸的占位图或者纯色背景,以保持页面布局的完整性。 3. **替换源**:当图片进入视口时,动态修改图片元素的`src`属性,使其指向真实图片的URL,从而...

    Android 自定义时间的Toast.rar

    在Android开发中,有时我们可能需要创建具有特定显示时间或者自定义样式的Toast来提供用户反馈。`Android 自定义时间的Toast.rar` 提供了一个解决方案,即`MyToast`控件,它允许开发者灵活地设置Toast显示的时间长度...

    延迟打开图片-js方法

    在JavaScript中实现延迟加载,可以显著减少首屏加载时间,从而提高页面性能。 标题“延迟打开图片-js方法”指的是使用JavaScript来实现延迟加载图片的技巧。以下是一些关键知识点: 1. **Intersection Observer ...

    通道处理过程模拟的一般步骤

    这些数据可以从实际系统日志中获取,或者根据假设场景生成。 7. **执行与记录**:运行模拟代码,按照事件驱动的方式推进时间轴。在每个时间步,模拟器检查并处理所有待处理事件,更新系统状态,并记录关键指标,如I...

    IE9浏览器下 使用JS获取图片尺寸大小 的方法

    因此,应尽可能延迟加载非关键图片,或者只在需要时才获取尺寸。 7. **其他方法**: 除了使用`Image`对象预加载,还可以利用CSS的`background-image`属性加载图片,然后通过计算背景尺寸获取图片大小。这种方法在...

    Time-cheat prevention.rar

    时间作弊通常指的是玩家通过篡改游戏中的时间来获取不公平的优势,例如加快移动速度、过快地恢复生命值或者跳过等待时间等。以下将详细介绍Unity中的网络同步以及如何防止时间作弊。 1. Unity网络同步基础: Unity...

    Opus-低延迟音频编解码器API手册中文翻译

    - 或者,可以通过opus_encoder_init()函数初始化一个之前已分配的OpusEncoder结构体。这个结构体的内存大小必须至少为opus_encoder_get_size()返回的大小。 - 通过opus_encode()函数将PCM音频数据编码成Opus帧。 - ...

    获取短信验证码源码

    应对可能出现的网络延迟、短信服务商故障等情况,系统需要有完善的错误处理机制,如重试机制、错误提示等。 9. **合规性** 使用短信验证码服务需符合通信法规,如我国的《电信和互联网用户个人信息保护规定》,在...

Global site tag (gtag.js) - Google Analytics