Java的Calendar类

Calendar类即日历类,常用于进行“翻日历”,比如下个月的今天是哪天

示例 1 : Calendar与Date进行转换

采用单例模式获取日历对象Calendar.getInstance();

  1. package date;
  2. import java.util.Calendar;
  3. import java.util.Date;
  4. public class TestDate {
  5. public static void main(String[] args) {
  6. //采用单例模式获取日历对象Calendar.getInstance();
  7. Calendar c = Calendar.getInstance();
  8. //通过日历对象得到日期对象
  9. Date d = c.getTime();
  10. Date d2 = new Date(0);
  11. c.setTime(d2); //把这个日历,调成日期 : 1970.1.1 08:00:00
  12. }
  13. }

示例 2 : 翻日历

add方法,在原日期上增加年/月/日

set方法,直接设置年/月/日

  1. package date;
  2. import java.text.SimpleDateFormat;
  3. import java.util.Calendar;
  4. import java.util.Date;
  5. public class TestDate {
  6. private static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  7. public static void main(String[] args) {
  8. Calendar c = Calendar.getInstance();
  9. Date now = c.getTime();
  10. // 当前日期
  11. System.out.println("当前日期:\t" + format(c.getTime()));
  12. // 下个月的今天
  13. c.setTime(now);
  14. c.add(Calendar.MONTH, 1);
  15. System.out.println("下个月的今天:\t" +format(c.getTime()));
  16. // 去年的今天
  17. c.setTime(now);
  18. c.add(Calendar.YEAR, -1);
  19. System.out.println("去年的今天:\t" +format(c.getTime()));
  20. // 上个月的第三天
  21. c.setTime(now);
  22. c.add(Calendar.MONTH, -1);
  23. c.set(Calendar.DATE, 3);
  24. System.out.println("上个月的第三天:\t" +format(c.getTime()));
  25. }
  26. private static String format(Date time) {
  27. return sdf.format(time);
  28. }
  29. }

练习Calendar

找出下个月的倒数第3天是哪天

答案

  1. package date;
  2. import java.text.SimpleDateFormat;
  3. import java.util.Calendar;
  4. import java.util.Date;
  5. public class TestDate {
  6. private static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  7. public static void main(String[] args) {
  8. Calendar c = Calendar.getInstance();
  9. System.out.println("今天是:" + format( c.getTime()));
  10. //先翻到下下个月
  11. c.add(Calendar.MONTH,2);
  12. //设置到月初
  13. c.set(Calendar.DATE,1);
  14. //再往回翻3天
  15. c.add(Calendar.DATE,-3);
  16. Exception e;
  17. System.out.println("下个月倒数第三天是:" + format(c.getTime()));
  18. }
  19. private static String format(Date time) {
  20. return sdf.format(time);
  21. }
  22. }

Java自学-日期 Calendar的更多相关文章

  1. Java自学-日期 Date

    Java的日期类Date Date类 注意:是java.util.Date; 而非 java.sql.Date,此类是给数据库访问的时候使用的 示例 1 : 时间原点概念 所有的数据类型,无论是整数, ...

  2. Java自学-日期 日期格式化

    Java中使用SimpleDateFormat 进行日期格式化类 SimpleDateFormat 日期格式化类 示例 1 : 日期转字符串 y 代表年 M 代表月 d 代表日 H 代表24进制的小时 ...

  3. 8.算法竞赛中的常用JAVA API :Calendar日期类

    8.算法竞赛中的常用JAVA API :Calendar日期类 摘要 在蓝桥杯中有关于日期计算的问题,正好java中的Date类和Calendar类提供了对日期处理的一些方法.Date类大部分方法已经 ...

  4. JAVA自学笔记14

    JAVA自学笔记14 1.正则表达式 1)是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串.其实就是一种规则.有自己的特殊应用 2)组成规则: 规则字符在java.util.rege ...

  5. [转载]Java 8 日期&时间 API

    Java 8 日期和时间 声明 本文转自http://www.journaldev.com/2800/java-8-date-localdate-localdatetime-instant,以mark ...

  6. 【转】JAVA 8 日期/时间(Date Time)API指南

    前言 本来想写下Java 8的日期/时间API,发现已经有篇不错的文章了,那就直接转载吧~ PS:主要内容没变,做了部分修改. 原文链接: journaldev 翻译: ImportNew.com - ...

  7. java获取日期之间的差异

    转载请注明出处.谢谢http://blog.csdn.net/harryweasley/article/details/42121485 当想到要计算差值.我们肯定想的是"2014.12.1 ...

  8. Java中的Calendar方法

    /** * @Title:JavaDate.java * @Package:com.yhd.chart.model * @Description:Java中的Calendar总结 * @author: ...

  9. Java 8 日期时间 API

    转自:https://www.runoob.com/java/java8-datetime-api.html Java 8通过发布新的Date-Time API (JSR 310)来进一步加强对日期与 ...

随机推荐

  1. 第09节-使用BTStack编写蓝牙程序

    Bluetooth LE Exploer(微软提供的)可以读取BLE蓝牙设备,可以读写它的值.本篇博客将使用BTStack写出一个精简版的Bluetooth LE Exploer. 涉及文件: bts ...

  2. springboot 启动的时候报java.lang.NoClassDefFoundError: org/springframework/expression/ParserContext

    解决方案:缺少spring-expression-4.1.4.RELEASE.jar包,丢进项目中就可以了 <dependency> <groupId>org.springfr ...

  3. Hyperparameters

    参数是机器学习算法的关键.它们通常由过去的训练数据中总结得出.在经典的机器学习文献中,我们可以将模型看作假设,将参数视为对特定数据集的量身打造的假设. 模型是否具有固定或可变数量的参数决定了它是否可以 ...

  4. CPU中断的工作原理,从最底层讲起

    前言 中断的概念属于硬件层.虽然我们在进行软件编程时不会直接使用中断,但理解它对我们来说依然重要. 我们在使用线程切换及状态管理.异常处理.硬件与处理器的交互.I/O操作等指令时,中断都在默默的为我们 ...

  5. Python模块 --- 最高级别程序组织单元

    模块 --- 最高级别程序组织单元 <Python学习手册>笔记 import 导入1个模块 from 获取模块指定变量名 imp.reload 重新载入模块文件代码的方法 模块作用 代码 ...

  6. vue CSS使用/deep/

    比如你使用了别人的组件或者自己开发一个组件,有时候你修改一处就可能影响到别的地方,这个时候要么你不用别人的组件,自己重新封装一个,但很多时候是不太现实的,所以就需要有一个方法或者方式,既不影响到别的地 ...

  7. Docker环境下的前后端分离项目部署与运维(九)后端项目部署与负载均衡

    数据库准备 建立数据库 renren_fast ,然后运行renrenfast项目中的db文件夹内的脚本 -- 菜单 CREATE TABLE `sys_menu` ( `menu_id` bigin ...

  8. 【神经网络与深度学习】生成式对抗网络GAN研究进展(五)——Deep Convolutional Generative Adversarial Nerworks,DCGAN

    [前言]      本文首先介绍生成式模型,然后着重梳理生成式模型(Generative Models)中生成对抗网络(Generative Adversarial Network)的研究与发展.作者 ...

  9. Python 的 Pandas 对矩阵的行进行求和

    Python 的 Pandas 对矩阵的行进行求和: 若使用 df.apply(sum) 方法的话,只能对矩阵的列进行求和,要对矩阵的行求和,可以先将矩阵转置,然后应用 df.apply(sum) 即 ...

  10. odoo @api.constrains _sql_constrains

    实现机制: @api.constrains('fields') 服务器启动时将模型中的所有约束方法注册到对象池中: 在create.write时会根据创建或修改的fields检查是否有对应的约束方法, ...