1. public static void main(String[] args) throws ParseException
  2. {
  3. // 字符串转换日期格式
  4. // DateFormat fmtDateTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  5. // 得到日期格式对象
  6. // Date date = fmtDateTime.parse(strDateMake);
  7.  
  8. // 完整显示日期时间
  9. String str = (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS")).format(new Date());
  10. System.out.println(str);
  11.  
  12. // 创建 Calendar 对象
  13. Calendar calendar = Calendar.getInstance();
  14. // 初始化 Calendar 对象,但并不必要,除非需要重置时间
  15. calendar.setTime(new Date());
  16.  
  17. // setTime 类似上面一行
  18. // Date date = new Date();
  19. // calendar.setTime(date);
  20.  
  21. // 显示年份
  22. int year = calendar.get(Calendar.YEAR);
  23. System.out.println("YEAR is = " + String.valueOf(year));
  24.  
  25. // 显示月份 (从0开始, 实际显示要加一)
  26. int MONTH = calendar.get(Calendar.MONTH);
  27. System.out.println("MONTH is = " + (MONTH + 1));
  28.  
  29. // 今年的第 N 天
  30. int DAY_OF_YEAR = calendar.get(Calendar.DAY_OF_YEAR);
  31. System.out.println("DAY_OF_YEAR is = " + DAY_OF_YEAR);
  32.  
  33. // 本月第 N 天
  34. int DAY_OF_MONTH = calendar.get(Calendar.DAY_OF_MONTH);
  35. System.out.println("DAY_OF_MONTH = " + String.valueOf(DAY_OF_MONTH));
  36.  
  37. // 3小时以后
  38. calendar.add(Calendar.HOUR_OF_DAY, 3);
  39. int HOUR_OF_DAY = calendar.get(Calendar.HOUR_OF_DAY);
  40. System.out.println("HOUR_OF_DAY + 3 = " + HOUR_OF_DAY);
  41.  
  42. // 当前分钟数
  43. int MINUTE = calendar.get(Calendar.MINUTE);
  44. System.out.println("MINUTE = " + MINUTE);
  45.  
  46. // 15 分钟以后
  47. calendar.add(Calendar.MINUTE, 15);
  48. MINUTE = calendar.get(Calendar.MINUTE);
  49. System.out.println("MINUTE + 15 = " + MINUTE);
  50.  
  51. // 30分钟前
  52. calendar.add(Calendar.MINUTE, -30);
  53. MINUTE = calendar.get(Calendar.MINUTE);
  54. System.out.println("MINUTE - 30 = " + MINUTE);
  55.  
  56. // 格式化显示
  57. str = (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SS")).format(calendar.getTime());
  58. System.out.println(str);
  59.  
  60. // 重置 Calendar 显示当前时间
  61. calendar.setTime(new Date());
  62. str = (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SS")).format(calendar.getTime());
  63. System.out.println(str);
  64.  
  65. // 创建一个 Calendar 用于比较时间
  66. Calendar calendarNew = Calendar.getInstance();
  67.  
  68. // 设定为 5 小时以前,后者大,显示 -1
  69. calendarNew.add(Calendar.HOUR, -5);
  70. System.out.println("时间比较:" + calendarNew.compareTo(calendar));
  71.  
  72. // 设定7小时以后,前者大,显示 1
  73. calendarNew.add(Calendar.HOUR, +7);
  74. System.out.println("时间比较:" + calendarNew.compareTo(calendar));
  75.  
  76. // 退回 2 小时,时间相同,显示 0
  77. calendarNew.add(Calendar.HOUR, -2);
  78. System.out.println("时间比较:" + calendarNew.compareTo(calendar));
  79.  
  80. }
  1. /**
  2. * 根据time获得该time的月初
  3. *
  4. * @param time
  5. * @return
  6. */
  7. public static long getMonthStartByTime(long time)
  8. {
  9. Calendar calendar = new GregorianCalendar();
  10. calendar.setTimeInMillis(time);
  11. calendar.add(Calendar.MONTH, 0);
  12. calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMinimum(Calendar.DAY_OF_MONTH));
  13. calendar.set(Calendar.HOUR_OF_DAY, 0);
  14. calendar.clear(Calendar.MINUTE);
  15. calendar.clear(Calendar.SECOND);
  16. calendar.clear(Calendar.MILLISECOND);
  17.  
  18. return calendar.getTimeInMillis();
  19. }
  20.  
  21. /**
  22. * 根据time获得该time的月末
  23. *
  24. * @param time
  25. * @return
  26. */
  27. public static long getMonthEndByTime(long time)
  28. {
  29. Calendar calendar = new GregorianCalendar();
  30. calendar.setTimeInMillis(time);
  31. calendar.add(Calendar.MONTH, 0);
  32. calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
  1.      calendar.set(Calendar.HOUR_OF_DAY, 23);
         calendar.set(Calendar.MINUTE, 59);
         calendar.set(Calendar.SECOND, 59);
         calendar.set(Calendar.MILLISECOND, 999);
  1.     return calendar.getTimeInMillis();
    }
  1.  
  1.  
  1. public static void main(String[] args) throws ParseException
    {
    // 字符串转换日期格式
    // DateFormat fmtDateTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    // 得到日期格式对象
    // Date date = fmtDateTime.parse(strDateMake);
  2.  
  3. // 完整显示日期时间
    String str = (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS")).format(new Date());
    System.out.println(str);
  4.  
  5. // 创建 Calendar 对象
    Calendar calendar = Calendar.getInstance();
    // 初始化 Calendar 对象,但并不必要,除非需要重置时间
    calendar.setTime(new Date());
  6.  
  7. // setTime 类似上面一行
    // Date date = new Date();
    // calendar.setTime(date);
  8.  
  9. // 显示年份
    int year = calendar.get(Calendar.YEAR);
    System.out.println("YEAR is = " + String.valueOf(year));
  10.  
  11. // 显示月份 (从开始, 实际显示要加一)
    int MONTH = calendar.get(Calendar.MONTH);
    System.out.println("MONTH is = " + (MONTH + ));
  12.  
  13. // 今年的第 N 天
    int DAY_OF_YEAR = calendar.get(Calendar.DAY_OF_YEAR);
    System.out.println("DAY_OF_YEAR is = " + DAY_OF_YEAR);
  14.  
  15. // 本月第 N 天
    int DAY_OF_MONTH = calendar.get(Calendar.DAY_OF_MONTH);
    System.out.println("DAY_OF_MONTH = " + String.valueOf(DAY_OF_MONTH));
  16.  
  17. // 3小时以后
    calendar.add(Calendar.HOUR_OF_DAY, );
    int HOUR_OF_DAY = calendar.get(Calendar.HOUR_OF_DAY);
    System.out.println("HOUR_OF_DAY + 3 = " + HOUR_OF_DAY);
  18.  
  19. // 当前分钟数
    int MINUTE = calendar.get(Calendar.MINUTE);
    System.out.println("MINUTE = " + MINUTE);
  20.  
  21. // 15 分钟以后
    calendar.add(Calendar.MINUTE, );
    MINUTE = calendar.get(Calendar.MINUTE);
    System.out.println("MINUTE + 15 = " + MINUTE);
  22.  
  23. // 30分钟前
    calendar.add(Calendar.MINUTE, -);
    MINUTE = calendar.get(Calendar.MINUTE);
    System.out.println("MINUTE - 30 = " + MINUTE);
  24.  
  25. // 格式化显示
    str = (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SS")).format(calendar.getTime());
    System.out.println(str);
  26.  
  27. // 重置 Calendar 显示当前时间
    calendar.setTime(new Date());
    str = (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SS")).format(calendar.getTime());
    System.out.println(str);
  28.  
  29. // 创建一个 Calendar 用于比较时间
    Calendar calendarNew = Calendar.getInstance();
  30.  
  31. // 设定为 5 小时以前,后者大,显示 -1
    calendarNew.add(Calendar.HOUR, -);
    System.out.println("时间比较:" + calendarNew.compareTo(calendar));
  32.  
  33. // 设定小时以后,前者大,显示 1
    calendarNew.add(Calendar.HOUR, +);
    System.out.println("时间比较:" + calendarNew.compareTo(calendar));
  34.  
  35. // 退回 2 小时,时间相同,显示 0
    calendarNew.add(Calendar.HOUR, -);
    System.out.println("时间比较:" + calendarNew.compareTo(calendar));
  36.  
  37. }

Calendar类测试的更多相关文章

  1. 利用Calendar类测试电脑运行速度

    今天学习了很多新知识! 这里使用了Calender类来获取系统时间,并计算循环1w次的时间,判断电脑处理时间. import java.util.Calendar; public class Arra ...

  2. 使用Java中Calendar类测试当前年月日

    import java.util.Calendar; public class time { public static void main(String[] args) { Calendar cal ...

  3. Calendar类常用需求方法

    经常处理一些日期相关的信息,Calendar类是处理日期的常用类,写下几个方法,不用重复造轮子了. 1.求上一天,下一天的日期 Date now = new Date();Calendar c = C ...

  4. 14-03 java BigInteger类,BigDecimal类,Date类,DateFormat类,Calendar类

    BigInteger类 发 package cn.itcast_01; import java.math.BigInteger; /* * BigInteger:可以让超过Integer范围内的数据进 ...

  5. java:通过Calendar类正确计算两日期之间的间隔

    在开发Android应用时偶然需要用到一个提示用户已用天数的功能,从实现上来看无非就是持久化存入用户第一次使用应用的时间firstTime(通过SharedPreferences .xml.sqlit ...

  6. Java基础-Calendar类常用方法介绍

    Java基础-Calendar类常用方法介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Calendar类概念 Calendar 类是一个抽象类,它为特定瞬间与一组诸如 Y ...

  7. Java的Calendar类

    通过Date类我们可以创建并格式化一个日期对象,但是如何才能设置和获取日期数据的特定部分呢?----Calendar类 Calendar类是一个抽象类,在实际使用时实现特定的子类的对象,通过getIn ...

  8. Java基础之Calendar类、JNDI之XML

     一.Calendar类 从JDK1.1版本开始,在处理日期和时间时,系统推荐使用Calendar类进行实现.在设计上,Calendar类的功能要比Date类强大很多,而且在实现方式上也比Date类要 ...

  9. 正则表达式、Calendar类、SimpleDateFormat类、Date类、BigDecimal类、BigInteger类、System类、Random类、Math类(Java基础知识十四)

    1.正则表达式的概述和简单使用 * A:正则表达式(一个字符串,是规则)     * 是指一个用来描述或者匹配一系列符合某个语法规则的字符串的单个字符串.其实就是一种规则.有自己特殊的应用. * B: ...

随机推荐

  1. QT入门

    QT += core gui widgets //引入需要用到的库 qDebug()<<"t="<<t<<QTime::currentTime( ...

  2. Spring入门_03_构造注入

    实体类 Student.java package com.umgsai.spring.entity; import java.util.Date; public class Student { pri ...

  3. Mysql表分区几种方式

    自5.1开始对分区(Partition)有支持,一张表最多1024个分区 查询分区数据: SELECT * from table PARTITION(p0) = 水平分区(根据列属性按行分)= 举个简 ...

  4. oracle中的sql%rowcount,sql%found、sql%notfound、sql%rowcount和sql%isopen

     Oracle 存储过程 删除表记录时删除不存在的记录也是显示删除成功 create or replace procedure delDept(p_deptno in dept.deptno%type ...

  5. 【转】常用的shell脚本

    from:http://blog.sina.com.cn/s/blog_4152a9f501013r6c.html 常用的shell脚本 (2012-10-10 22:09:07) 转载▼ 标签: 杂 ...

  6. Linux jdk1.7安装与 jdk1.6卸载

    昨天安装zookeeper时需要java环境,也就是安装jdk    安装完jdk1.7后,配置好环境变量, vim ~/.bashrc       JAVA_HOME=安装路径 export PAT ...

  7. JS刷新页面总和!多种JS刷新页面代码!

    1)<meta http-equiv="refresh"content="10;url=跳转的页面">10表示间隔10秒刷新一次2)<scri ...

  8. A simple Snippet in ST2

    Reference: http://web-design-weekly.com/2012/07/03/snippets-in-sublime-text-2/ A sample - cofirm (To ...

  9. autopep8

    修正python pep8的警告挺无趣的, 用了 autopep8 感觉比较爽. 记录如下. ----------------pep8检查----------------平时我用pydev做pep8检 ...

  10. PHP基础封装简单的MysqliHelper类

    MysqliHelper.class.php 1: <?php 2:  3: /** 4: * MysqliHelper 5: * [面向对象的MysqliHelper的简单封装] 6: */ ...