在Java中,如何滚动几个小时和几个月?

本示例展示了如何使用calender类的roll()方法滚动月(不改变年)或小时(不更改月或年)。

package com.yiibai;

import java.text.SimpleDateFormat;
import java.util.*; public class RollHoursMonths {
public static void main(String[] args) throws Exception {
Date curDate = new Date();
Calendar cl = Calendar.getInstance(); cl.setTime(curDate);
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
String DateToStr = format.format(cl.getTime());
System.out.println("当前时间:" + DateToStr); // 12个月后的时间
cl.setTime(curDate);
cl.roll(Calendar.MONTH, 2);
SimpleDateFormat format2 = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
String DateToStr2 = format2.format(cl.getTime());
System.out.println("当前时间加上12个月后的时间:" + DateToStr2); // 10个小时后的时间
cl.setTime(curDate);
cl.roll(Calendar.HOUR, 1);
SimpleDateFormat format3 = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
String DateToStr3 = format3.format(cl.getTime());
System.out.println("当前时间加上10小时后的时间:" + DateToStr3);
}
}
Java

上述代码示例将产生以下结果,结果将根据当前系统时间而有变化。

当前时间:2017-09-17 10:03:01
当前时间加上12个月后的时间:2017-11-17 10:03:01
当前时间加上10小时后的时间:2017-09-17 11:03:01
Shell

注意:上述时间超过时间最大值不会进位,比如:小时最大表示为12,大于12使用从0开始表示。

示例-2

以下是滚动月份的另一个例子。

package com.yiibai;
import java.text.SimpleDateFormat;
import java.util.Calendar;
public class RollHoursMonths2 {
public static void main(String[] args) {
Calendar cal = Calendar.getInstance();
System.out.println("Time:" + cal.getTime()); cal.roll(Calendar.YEAR, false);
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
String DateToStr = format.format(cal.getTime());
System.out.println("向上滚下1年:" + DateToStr); cal.roll(Calendar.HOUR, true);
SimpleDateFormat format2 = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
String DateToStr2 = format2.format(cal.getTime());
System.out.println("向上滚动1小时: " + DateToStr2);
}
}
Java

上述代码示例将产生以下结果 -

Time:Sun Sep 17 22:10:07 BOT 2017
向上滚下1年:2016-09-17 10:10:07
向上滚动1小时: 2016-09-17 11:10:07

Java如何滚动几个小时和几个月?的更多相关文章

  1. cron 任务的典型格式是: 分钟(0-59) 小时(0-24) 日(1-31) 月(1-12) 星期(0-6) 要执行的命令

    https://linux.cn/article-9687-1.html Cron 是您可以在任何类 Unix 操作系统中找到的最有用的实用程序之一.它用于安排命令在特定时间执行.这些预定的命令或任务 ...

  2. mysql java写入时间少14小时

    查看时区: mysql> show variables like '%time_zone%'; +------------------+--------+ | Variable_name | V ...

  3. java实现获取当前年月日 小时 分钟 秒 毫秒

    java代码实现如下 view source print?     /**      * 英文简写(默认)如:2010-12-01      */     public static String F ...

  4. java获取当前年、半年、季度、月、日、小时 开始结束时间等

    import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; /** * 获取 当前年.半年 ...

  5. Java 获取当前时间前一个小时的时间

    /** * 获取当前时间前一个小时的时间 */ public static void beforeOneHourToNowDate() { Calendar c = new Calendar.getI ...

  6. Java 获取前一天的24小时

    //获取凌晨时间 public static Date getTodayStartTime(){ Calendar todayEnd = Calendar.getInstance(); todayEn ...

  7. 利用正则表达式判断Java中的秒钟、分钟、小时、日、月是否符合规则

    // 定义校验规则 Pattern patRule = Pattern.compile("判断规则"); // 校验结果 patRule.matcher("判断的对象&q ...

  8. java练习-滚动文字

    <marquee direction="left" onMouseOver="this.scrollAmount=5" onMouseOut=" ...

  9. Java反射库中的安全漏洞在30个月后终于修复了(转)

    2013年7月,安全组织Security Explorations发现了Java 7u25中的一个安全漏洞,通过这个漏洞攻击者可以完全摆脱Java沙箱.Oracle在更新的7u40中包含了一个补丁,但 ...

随机推荐

  1. distill 来自google,openai,deepmind,YC research

    https://distill.pub/ https://colah.github.io/

  2. Android 编程下的日志工具类

    package com.sunzn.app.util; import android.util.Log; public class Logger { public static int DEBUG_L ...

  3. [转] lua 获取本地当月天数

    亲测,无误. 原文传送门:lua 获取本地当月天数 开发中有用到,记录一下. local year,month = os.date("%Y", os.time()), os.dat ...

  4. 如何添加Samba用户

    Window系统连上我们的开发机Linux,自然需要在Samba里添加一个新用户. linux-06bq:/usr/local/services/samba/bin # ./smbpasswd -a ...

  5. 【转】关于 SELECT /*!40001 SQL_NO_CACHE */ * FROM 的解惑

    由于 在数据库做了缓存,在对数据库做了备份,然后在慢查询日志中发现了这一串字符: SELECT /*!40001 SQL_NO_CACHE */ * FROM 上网查了一下,发现好多答案,好多人说的都 ...

  6. 【Java】异常类处理层次

    异常处理简介 异常在java的开发中可能没有那么被重视.一般遇到异常,直接上抛,或者随便catch一下处理之后对于程序整体运行也没有什么大的影响.不过在企业级设计开发中,异常的设计与处理的好坏,往往就 ...

  7. Android实例-获取屏幕的物理分辨率

    相关资料: http://blog.qdac.cc/?p=1161 实例代码: unit Unit1; interface uses System.SysUtils, System.Types, Sy ...

  8. 连接池(Connection Pool)技术

    解释: 连接池(Connection Pool)技术的核心思想是:连接复用,通过建立一个数据库连接池以及一套连接使用.分配.管理策略,使得该连接池中的连接可以得到高效.安全的复用,避免了数据库连接频繁 ...

  9. 基于jQuery实现汉字转换成拼音代码

    基于jQuery实现汉字转换成拼音代码.这是一款基于jQuery.Hz2Py.js插件实现的汉字转拼音特效.效果图如下: 在线预览   源码下载 实现的代码. html代码: <br /> ...

  10. 在IIS中访问APS页面时提示:“最可能的原因使用的托管的处理程序,但是未安装或未完整安装asp.net“

    打开CMD窗口,执行下面的命令: "%WINDIR%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe" -iru -ena ...