在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. 银联在线支付B2C UnionPay.NET

    新春即将来临,首先给大家拜个早年,祝攻城狮们新年快乐.万事如意.合家欢乐.团团圆圆.幸福健康.来年更能大展宏图 实现各自的梦想! 同时预祝各大科技公司大佬们事业蒸蒸日上.公司转型突破创新.冲出突围带领 ...

  2. Logstash使用jdbc同步MySQL中的数据

    [--26T20::,][WARN ][logstash.inputs.jdbc ] Exception when executing JDBC query {:exception=>#< ...

  3. html5 canvas 画图移动端出现锯齿毛边的解决方法

    使用HTML5的canvas元素画出来的.在移动端手机上测试都发现画图有一点锯齿问题 出现这个问题的原因应该是手机的宽是720像素的, 而这个canvas是按照小于720像素画出来的, 所以在720像 ...

  4. 带网上开户表单jQuery焦点图

    带网上开户表单jQuery焦点图是一款适合证券公司的带表单的图片左右滚动切换特效代码.效果图如下: 在线预览   源码下载 实现的代码. html代码: <div class="ind ...

  5. [转]JSTL 与 JSP 或者 Java 相互传递变量的代码

    原文地址:http://blog.csdn.net/joyous/article/details/6689861 两种方式 <c:set var="s1" value=&qu ...

  6. MyBatis 之 SqlSessionManager 源码分析

    MyBatis 的 4 个基本构成: SqlSessionFactoryBuilder(构造器): 根据配置信息或者代码来生成 SqlSessionFactory(工厂接口) SqlSessionFa ...

  7. Python的自增运算符

    今天在写一个合并两个有血list的时候,使用了while循环,不自觉的使用了i++,自测的时候发现有语法错误,还检查了好几遍,觉得应该没啥错误啊,后来google了一把,恍然大悟,原来Python早就 ...

  8. 使用EmbeddedValueResolverAware读取配置文件内容

    在基于Spring获取properties文件属性值的时候,一般使用@Value的方式注入配置文件属性值,但是总是需要引入这些多余的变量,有点不爽,今天研究了下,基于Spring解析@Value的方式 ...

  9. 强大的vim配置文件,让编程更随意

    花了很长时间整理的,感觉用起来很方便,共享一下. 我的vim配置主要有以下优点: 1.按F5可以直接编译并执行C.C++.java代码以及执行shell脚本,按“F8”可进行C.C++代码的调试 2. ...

  10. android 中遇到 imageView getWidth 始终为0 时 ,设置 setImageBitmap 的方法

    先说说我的遇到的问题: 1. 我在activity里写一个 fragment 2.这个fragment里有个 imageView ,用于显示图片. 我使用 asyncTask获得图片,并准备在这个im ...