在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. artificial%20intelligence%20a%20modern%20approach

    http://stpk.cs.rtu.lv/sites/all/files/stpk/materiali/mi/artificial%20intelligence%20a%20modern%20app ...

  2. 使用HttpClient配置代理服务器模拟浏览器发送请求调用接口测试

    在调用公司的某个接口时,直接通过浏览器配置代理服务器可以请求到如下数据: 请求url地址:http://wwwnei.xuebusi.com/rd-interface/getsales.jsp?cid ...

  3. Java中的异常处理:何时抛出异常,何时捕获异常,何时处理异常?

    Java中的异常处理:何时抛出异常,何时捕获异常? 2017-06-07 1 异常分类 Throwable对象可以分为两组: 一组是unchecked异常,异常处理机制往往不用于这组异常,包括: Er ...

  4. linux管道命令学习(一)

    继续看鸟哥私房菜,看一直很想弄懂的管道命令(pipe).第一次知道管道这个词还是在学django的时候,模板里的过滤器很像这里的管道.管道就是将输出在标准输出中的信息一次次处理最终打印在标准输出中,所 ...

  5. Android.mk遍历子目录所有文件

    转:http://blog.csdn.net/langresser_king/article/details/8272736 define all-cpp-files-under$(patsubst ...

  6. 显示eclipse中Problem窗口的方法

    https://blog.csdn.net/ningfuxuan/article/details/76395029 ****************************************** ...

  7. LeetCode: Path Sum 解题报告

    Path Sum Given a binary tree and a sum, determine if the tree has a root-to-leaf path such that addi ...

  8. 08Vue.js快速入门-Vue综合实战项目

    8.1. 前置知识学习 npm 学习 官方文档 推荐资料 npm入门 npm介绍 需要了解的知识点 package.json 文件相关配置选项 npm 本地安装.全局安装.本地开发安装等区别及相关命令 ...

  9. iOS 开发_..和self...的区别以及使用

    相信很多初学者对_和self.之间的区别并没有一个大致的认识,那么下面对两者的区别做一个简单的介绍: 至于重写set和get方法,简要说明一下,当我们使用@property这用法之后,系统便会自动给我 ...

  10. Android 面试知识集1

    今晚在复习Android基础的时候,找到了一些很有价值的基础知识,分享给给位Android的开发者.这些是基础知识,同时也可以当做面试准备.面试题其实是很好的基础知识学习,有空会好好整理相关基础知识. ...