精华内容
下载资源
问答
  • Java Calendar 日历类的时间操作,这也许是 Java 环境下创建和管理日历及操作时间最简单的一个方案了,示范代码也很简单。 演示了获取时间,日期时间的累加和累减,以及日期时间的比较。 原文地址:blog.csdn.net/...

    Java Calendar 日历类的时间操作,这也许是 Java 环境下创建和管理日历及操作时间最简单的一个方案了,示范代码也很简单。

    演示了获取时间,日期时间的累加和累减,以及日期时间的比较。

    原文地址:blog.csdn.net/joyous/article/details/9630893

    注意事项:

    Calendar 的 month 从 0 开始,也就是全年 12 个月由 0 ~ 11 进行表示。

    而 Calendar.DAY_OF_WEEK 定义值如下,每周从 SUNDAY 开始,从 1 ~ 7:

    Calendar.SUNDAY = 1
    Calendar.MONDAY = 2
    Calendar.TUESDAY = 3
    Calendar.WEDNESDAY = 4
    Calendar.THURSDAY = 5
    Calendar.FRIDAY = 6
    Calendar.SATURDAY = 7

    SimpleDateFormat 的格式定义

     

    Letter Date or Time Component Presentation Examples
    G Era designator Text AD
    y Year Year 199696
    Y Week year Year 200909
    M Month in year (context sensitive) Month JulyJul07
    L Month in year (standalone form) Month JulyJul07
    w Week in year Number 27
    W Week in month Number 2
    D Day in year Number 189
    d Day in month Number 10
    F Day of week in month Number 2
    E Day name in week Text TuesdayTue
    u Day number of week (1 = Monday, ..., 7 = Sunday) Number 1
    a Am/pm marker Text PM
    H Hour in day (0-23) Number 0
    k Hour in day (1-24) Number 24
    K Hour in am/pm (0-11) Number 0
    h Hour in am/pm (1-12) Number 12
    m Minute in hour Number 30
    s Second in minute Number 55
    S Millisecond Number 978
    z Time zone General time zone Pacific Standard TimePSTGMT-08:00
    Z Time zone RFC 822 time zone -0800
    X Time zone ISO 8601 time zone -08-0800-08:00

     

    Java Calendar 演示代码如下:

     

    package demo;
    
    import java.util.Date;
    import java.text.SimpleDateFormat;
    import java.text.DateFormat;
    import java.text.ParseException;
    import java.util.Calendar;
    
    public class Test
    {
      public Test()
      {
      }
    
      public static void main(String[] args)
      {
        // 字符串转换日期格式
        // DateFormat fmtDateTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        // 接收传入参数
        // String strDate = args[1];
        // 得到日期格式对象
        // Date date = fmtDateTime.parse(strDate);
    
        // 完整显示今天日期时间
        String str = (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS")).format(new Date());
        System.out.println(str);
    
        // 创建 Calendar 对象
        Calendar calendar = Calendar.getInstance();
    
        try
        {
          // 对 calendar 设置时间的方法
          // 设置传入的时间格式
          SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-M-d H:m:s");
          // 指定一个日期
          Date date = dateFormat.parse("2013-6-1 13:24:16");
          // 对 calendar 设置为 date 所定的日期
          calendar.setTime(date);
    
          // 按特定格式显示刚设置的时间
          str = (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS")).format(calendar.getTime());
          System.out.println(str);
        }
        catch (ParseException e)
        {
          e.printStackTrace();
        }
    
        // 或者另一種設置 calendar 方式
        // 分別爲 year, month, date, hourOfDay, minute, second
        calendar = Calendar.getInstance();
        calendar.set(2013, 1, 2, 17, 35, 44);
        str = (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS")).format(calendar.getTime());
        System.out.println(str);
    
        // Calendar 取得当前时间的方法
        // 初始化 (重置) Calendar 对象
        calendar = Calendar.getInstance();
        // 或者用 Date 来初始化 Calendar 对象
        calendar.setTime(new Date());
    
        // setTime 类似上面一行
        // Date date = new Date();
        // calendar.setTime(date);
    
        str = (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS")).format(calendar.getTime());
        System.out.println(str);
    
        // 显示年份
        int year = calendar.get(Calendar.YEAR);
        System.out.println("year is = " + String.valueOf(year));
    
        // 显示月份 (从0开始, 实际显示要加一)
        int month = calendar.get(Calendar.MONTH);
        System.out.println("nth is = " + (month + 1));
    
        // 本周几
        int week = calendar.get(Calendar.DAY_OF_WEEK);
        System.out.println("week is = " + week);
    
        // 今年的第 N 天
        int DAY_OF_YEAR = calendar.get(Calendar.DAY_OF_YEAR);
        System.out.println("DAY_OF_YEAR is = " + DAY_OF_YEAR);
    
        // 本月第 N 天
        int DAY_OF_MONTH = calendar.get(Calendar.DAY_OF_MONTH);
        System.out.println("DAY_OF_MONTH = " + String.valueOf(DAY_OF_MONTH));
    
        // 3小时以后
        calendar.add(Calendar.HOUR_OF_DAY, 3);
        int HOUR_OF_DAY = calendar.get(Calendar.HOUR_OF_DAY);
        System.out.println("HOUR_OF_DAY + 3 = " + HOUR_OF_DAY);
    
        // 当前分钟数
        int MINUTE = calendar.get(Calendar.MINUTE);
        System.out.println("MINUTE = " + MINUTE);
    
        // 15 分钟以后
        calendar.add(Calendar.MINUTE, 15);
        MINUTE = calendar.get(Calendar.MINUTE);
        System.out.println("MINUTE + 15 = " + MINUTE);
    
        // 30分钟前
        calendar.add(Calendar.MINUTE, -30);
        MINUTE = calendar.get(Calendar.MINUTE);
        System.out.println("MINUTE - 30 = " + MINUTE);
    
        // 7天前
        calendar.add(Calendar.DAY_OF_YEAR, -7);
        // 显示当月 x 号
        int day_of_month = calendar.get(Calendar.DAY_OF_MONTH);
        System.out.println("day_of_month -7 = " + day_of_month);
    
        // 格式化显示
        str = (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SS")).format(calendar.getTime());
        System.out.println(str);
    
        // 重置 Calendar 显示当前时间
        calendar.setTime(new Date());
        str = (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SS")).format(calendar.getTime());
        System.out.println(str);
    
        // 创建一个 Calendar 用于比较时间
        Calendar calendarNew = Calendar.getInstance();
    
        // 设定为 5 小时以前,后者大,显示 -1
        calendarNew.add(Calendar.HOUR, -5);
        System.out.println("时间比较:" + calendarNew.compareTo(calendar));
    
        // 设定7小时以后,前者大,显示 1
        calendarNew.add(Calendar.HOUR, +7);
        System.out.println("时间比较:" + calendarNew.compareTo(calendar));
    
        // 退回 2 小时,时间相同,显示 0
        calendarNew.add(Calendar.HOUR, -2);
        System.out.println("时间比较:" + calendarNew.compareTo(calendar));
      }
    }

    运行结果

    2013-06-07 23:27:34:195
    2013-06-01 13:24:16:000
    2013-02-02 17:35:44:197
    2013-06-07 23:27:34:197
    year is = 2013
    nth is = 6
    week is = 6
    DAY_OF_YEAR is = 158
    DAY_OF_MONTH = 7
    HOUR_OF_DAY + 3 = 2
    MINUTE = 27
    MINUTE + 15 = 42
    MINUTE - 30 = 12
    2013-06-08 02:12:34:197
    2013-06-07 23:27:34:199
    时间比较:-1
    时间比较:1
    时间比较:0

    要计算时间差,可用 Calendar.getTimeInMillis() 取得两个时间的微秒级的时间差,再加以换算即可,比如获得相差天数,代码如下:

        // 得微秒级时间差
        long val = calendarEnd.getTimeInMillis() - calendarBegin.getTimeInMillis();
        // 换算后得到天数
        long day = val / (1000 * 60 * 60 * 24);
    

    其他与 date 相关的类型转换代码如下。

    Timestamp 类型转换为 Date 类型:

    Timestamp stamp = new Timestamp(System.currentTimeMillis());
    Date date = new Date(stamp.getTime());
    System.out.println(date);

    Timestamp 类型转换为 Calendar 类型:

    // 获取 Timestamp 类型时间
    Timestamp timestamp = new Timestamp(System.currentTimeMillis());
    
    // 转换为 Calendar 类型,SUN 也推荐用 Calendar 处理时间信息
    Calendar calendar = Calendar.getInstance();
    calendar.setTimeInMillis(timestamp.getTime());

    Date 类型转换为 Calendar 类型:

    // Date 向 Calendar 赋值
    calendar.setTime(date);

    Calendar 类型转换为 Timestamp 类型:

    // 创建 Calendar 对象,也同时获取了当前时间
    Calendar calendar = Calendar.getInstance();
    
    // 转换为 Timestamp 类型对象
    Timestamp timestamp = new Timestamp(calendar.getTimeInMillis());
    System.out.println(timestamp);

    Calendar 类型转换为 Date 类型:

    // Calendar 对象类型转换为 Date 对象类型
    Calendar calendar = Calendar.getInstance();
    java.util.Date date = calendar.getTime();
    System.out.println(date);

    StringDate 转换为 Date 或者 Timestamp

    /* 将字符串日期或者日期时间转换为 timestamp 格式 */
    try
      {
        // 一个字符串日期
        String strDate = "2020-01-31";
    
        // 设置传入格式
        // yyyy-MM-dd 或者完整的 yyyy-MM-dd HH:mm:ss
        DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
        Date date = dateFormat.parse(strDate);
    
        // 创建 Calendar 用于处理 date 对象
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(date);
    
        // 由 calendar 对象生成 timestamp
        Timestamp timestamp = new Timestamp(calendar.getTimeInMillis());
        System.out.printf(timestamp);
      }
      catch (Exception e)
      {
        e.printStackTrace();
      }

    原文地址:blog.csdn.net/joyous/article/details/9630893

    https://blog.inull.net
    Q群讨论 236201801

    展开全文
  • Java Calendar

    2017-07-27 17:25:46
    import java.text.SimpleDateFormat;...import java.util.Calendar; import java.util.Date; public class CalendarDemo { public static void main(String[] args) { SimpleDateFormat sdf = new Simple
    import java.text.SimpleDateFormat;
    import java.util.Calendar;
    import java.util.Date;
    
    public class CalendarDemo {
        public static void main(String[] args) {
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
            System.out.println("1 - 当前日期: " + sdf.format(new Date()));
    
            Calendar calendar = Calendar.getInstance();
            System.out.println("2 - 当前年份: " + calendar.get(Calendar.YEAR));
            int currentMonth = calendar.get(Calendar.MONTH)+1; // 月份是从0开始,0表示1月
            System.out.println("3 - 当前月份(1位数): " + currentMonth);
            System.out.println("4 - 当前日: " + calendar.get(Calendar.DATE));
    
            System.out.println("==========================================");
            System.out.println("5 - 当前小时(12小时制): " + calendar.get(Calendar.HOUR));
            System.out.println("6 - 当前小时(24小时制): " + calendar.get(Calendar.HOUR_OF_DAY));
            System.out.println("7 - 当前分钟: " + calendar.get(Calendar.MINUTE));
            System.out.println("8 - 当前秒: " + calendar.get(Calendar.SECOND));
    
            System.out.println("==========================================");
            System.out.println("9 - 当前上下午(0-上午;1-下午): " + calendar.get(Calendar.AM_PM));
    
            System.out.println("==========================================");
            System.out.println("10 - 今天是今年的第 " + calendar.get(Calendar.DAY_OF_YEAR) + " 天");
            System.out.println("11 - 今天是这个月的第 " + calendar.get(Calendar.DAY_OF_MONTH) + " 天");
            System.out.println("12 - 今天是这个月的第 " + calendar.get(Calendar.DAY_OF_WEEK) + " 周");
            System.out.println("13 - 今天是这个月本周的第 " + calendar.get(Calendar.DAY_OF_WEEK_IN_MONTH) + " 天");
    
            calendar.setTime(new Date());
            calendar.add(Calendar.MONTH, 2); // 1月从0开始的
            System.out.println("14 - 下个月月份(1位数): " + calendar.get(Calendar.MONTH));
    
            calendar.set(Calendar.DATE, 0);
            System.out.println("15 - 下个月最后一天日期: " + sdf.format(calendar.getTime()));
        }
    }

    输出结果:

    1 - 当前日期: 2017-07-27
    2 - 当前年份: 2017
    3 - 当前月份(1位数): 7
    4 - 当前日: 27
    ==========================================
    5 - 当前小时(12小时制): 5
    6 - 当前小时(24小时制): 17
    7 - 当前分钟: 40
    8 - 当前秒: 1
    ==========================================
    9 - 当前上下午(0-上午;1-下午): 1
    ==========================================
    10 - 今天是今年的第 208 天
    11 - 今天是这个月的第 27 天
    12 - 今天是这个月的第 5 周
    13 - 今天是这个月本周的第 4 天
    14 - 下个月月份(1位数): 8
    15 - 下个月最后一天日期: 2017-08-31

    展开全文
  • java calendar

    2014-10-28 15:08:00
    from head first java  ...import java.util.Calendar; public class XCalendar { public static void main(String[] args){ Calendar c = Calendar.getInstance(); c.set(2004, 0 , 7 , 15 ,40 ); //设置时

    from head first java 

    import java.util.Calendar;
    
    public class XCalendar {
    	public static void main(String[] args){
    		Calendar c = Calendar.getInstance();
    		c.set(2004, 0 , 7 , 15 ,40 );  //设置时间
    		System.out.println("now date:" + c.getTime());
    		long day1 = c.getTimeInMillis();
    		day1 += 1000 * 60 * 60;
    		c.setTimeInMillis(day1);  //以mills set time
    		System.out.println("now date:" + c.getTime());
    		System.out.println("new Hour:" + c.get(Calendar.HOUR_OF_DAY));
    		c.add(Calendar.DATE, 35);  //增加天数,会改变月份
    		System.out.println("add 35 days:" + c.getTime());
    		c.roll(Calendar.DATE, 35); //不改变月份情况下来增加天数。
    		System.out.println("roll 35 days:" + c.getTime());
    		c.set(Calendar.DATE, 1);  //手动设置日期
    		System.out.println("after set 1:" + c.getTime());
    	}
    }


    展开全文
  • java calendar Calendar类after()方法 (Calendar Class after() method) after() method is available in java.util package. after()方法在java.util包中可用。 after() method is used to check whether this ...

    java calendar

    Calendar类after()方法 (Calendar Class after() method)

    • after() method is available in java.util package.

      after()方法在java.util包中可用。

    • after() method is used to check whether this calendar time is after the time denoted by the given Object's time or not.

      after()方法用于检查此日历时间是否在给定Object的时间所表示的时间之后。

    • after() method is a non-static method, it is accessible with the class object and if we try to access the method with the class name then we will get an error.

      after()方法是一种非静态方法,可通过类对象访问,如果尝试使用类名称访问该方法,则会收到错误消息。

    • after() method does not throw an exception at the checking this calendar time with the given time.

      after()方法在检查给定时间的日历时间时不会引发异常。

    Syntax:

    句法:

        public boolean after(Object time);
    
    

    Parameter(s):

    参数:

    • Object time – represents the time to be compared with this calendar time.

      对象时间 –表示要与此日历时间进行比较的时间。

    Return value:

    返回值:

    The return type of the method is boolean, it returns true when the given time is before this calendar time otherwise it returns false.

    方法的返回类型为boolean ,如果给定时间早于日历时间,则返回true ,否则返回false

    Example:

    例:

    // Java Program to demonstrate the example of
    // boolean after(Object) method of Calendar
    
    import java.util.*;
    
    public class AfterOfCalendar {
        public static void main(String[] args) {
            // Instantiating two Calendar object
            Calendar curr_ca = Calendar.getInstance();
            Calendar after_ca = Calendar.getInstance();
    
            // By using add() method is to add the 
            // 10 months to the current calendar
            after_ca.add(Calendar.MONTH, 10);
    
            // Display current and after calendar
            System.out.println("curr_ca.getTime(): " + curr_ca.getTime());
            System.out.println("after_ca.getTime(): " + after_ca.getTime());
    
            // By using after() method is to check
            // the after_ca time is after the curr_ca
            boolean status = after_ca.after(curr_ca);
    
            //Display Result
            System.out.println("after_ca.after(curr_ca): " + status);
        }
    }
    
    

    Output

    输出量

    curr_ca.getTime(): Thu Jan 23 11:12:36 GMT 2020
    after_ca.getTime(): Mon Nov 23 11:12:36 GMT 2020
    after_ca.after(curr_ca): true
    
    
    

    翻译自: https://www.includehelp.com/java/calendar-after-method-with-example.aspx

    java calendar

    展开全文
  • Java Calendar类操作 java.util.Calendar

    万次阅读 2018-07-18 23:02:59
    Java的Date类与Calendar类 在JDK1.0中,Date类是唯一的一个代表时间的类,但是由于Date类不便于实现国际化,所以从JDK1.1版本开始出现了Calendar类进行时间和日期处理。   CalendarJava.util下的抽象类 // ...
  • Java Calendar日期操作

    2015-09-11 11:38:09
    package com.busi;import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date;public class JavaCalendar { public void getNow() { Cal
  • java Java Calendar 获取 上周日 上周六 首先我们要搞懂一个小坑,在Calendar中,也就是西方世界,周日是每周的第一天,周六是每周的最后一天。这点弄明白就很好搞。 获取上周六(也就是上周最后一天) 获取...
  • JAVA Calendar详解

    2011-03-11 13:53:00
    JAVA Calendar date 时间 日期 字符串
  • 利用Java Calendar类打印日历

    千次阅读 2019-07-24 22:24:38
    利用Java Calendar类打印日历 说到日历,我们接触的就多了,每天都在和日历打交道,每年家里都会买日历。那么,大家知道如何用Java打印日历呢?在这里,我说一下如何用Calendar类打印日历,非常简单,代码量很低的...
  • Java Calendar使用方法

    千次阅读 2016-07-07 17:51:12
    1.java Calendar add方法  每个日期形式都有其整数值 public static Date addYears(Date date, int amount) { return add(date, 1, amount); } public static Date addMonths(Date date,...
  • Java Calendar 类的格式操作

    千次阅读 2016-06-17 12:01:27
    Java Calendar 类的格式操作
  • Java Calendar 获取上下午

    千次阅读 2016-05-31 10:13:39
    Java Calendar 获取上下午   SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss"); Date date = sdf.parse(yourdate); Calendar cal=Calendar.getInstance(); if(null!=da...
  • Java Calendar

    千次阅读 2019-06-09 19:54:47
    Calendar类是一个抽象类,它为毫秒值与YEAR、MONTH等日历字段之间的转换提供了一些方法,并为操作日历字段提供了一些方法。 1、Calendar日历字段 1.1、Calendar.YEAR 年份 1.2、Calendar.MONTH 月份 1.3、Calendar...
  • Java Calendar 类的时间操作

    千次阅读 2015-07-21 11:02:31
    Java Calendar 类时间操作,代码很简单。 演示了获取时间,日期时间的累加和累减。package MyTest;/* * 演示 Calendar 的一般操作 */ import java.util.Date; import java.text.SimpleDateFormat; import java....
  • Java Calendar 获取本周的星期一   //Java Calendar 获取本周的星期一 private String getFistDateOfWeek(String date){ Calendar cal=this.getCalendarIns(date); // 如果当前时间是星期天,则向上移动一...
  • JAVA Calendar详解

    千次阅读 2018-12-21 21:12:41
    究竟什么是一个 Calendar 呢?中文的翻译就是日历,那我们立刻可以想到我们生活中有阳(公)历、阴(农)历之分。它们的区别在哪呢? 比如有: 月份的定义 - 阳`(公)历 一年12 个月,每个月的天数各不同;阴(农)历,每个...
  •  想用jmeter获取最近几个月或最近一段时间时间,而Java Calendar 类时间操作,这也许是创建和管理日历最简单的一个方案,示范代码很简单。由此百度到了Java Calendar 类的时间操作的一些文章。 相关原文地址...
  • java Calendar详解

    2014-12-13 09:23:10
    Calendar是一个抽象类,我们无法直接实例化它,它有一个具体子类实体类java.util.GregorianCalendar,这个类实现的就是我们日常所用的公历历法,或者叫做阳历。我们可以直接使用new命令创建它的实例,或者使用...
  • Java Calendar 类时间操作,这也许是创建和管理日历最简单的一个方案,示范代码很简单。 演示了获取时间,日期时间的累加和累减,以及比较。 原文地址:blog.csdn.net/joyous/article/details/9630893 ...
  • java calendar 笔记 使用SimpleDateFormat时格式化时间的 yyyy.MM.dd 为年月日; 如果希望格式化时间为12小时制的,则使用hh:mm:ss;而如果希望格式化时间为24小时制的,则使用HH:mm:ss; SimpleDateFormat ...
  • Java Calendar获取年、月、日、时间

    千次阅读 2017-07-11 18:52:21
    Java Calendar获取年、月、日、时间  Calendar c = Calendar.getInstance(TimeZone.getTimeZone("GMT+08:00")); //获取东八区时间  int year = c.get(Calendar.YEAR); //获取年  int month = c....
  • java Calendar获取当前时间

    千次阅读 2019-05-31 09:41:42
    获取系统当前时间戳 public static void main(String... Calendar cal=Calendar.getInstance(); int year = cal.get(Calendar.YEAR); int month = cal.get(Calendar.MONTH)+1; int day = cal.get(Calendar....
  • java Calendar操作

    2013-05-06 16:38:46
    package com.dada.test; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; public class TestCalendar { public static void main(String[] args) { SimpleDateFormat s
  • 8.Java Calendar获取年、月、日、时间

    千次阅读 2018-07-31 10:23:19
    Java Calendar获取年、月、日、时间  Calendar c = Calendar.getInstance(TimeZone.getTimeZone("GMT+08:00")); //获取东八区时间  int year = c.get(Calendar.YEAR); //获取年  int month...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 21,137
精华内容 8,454
关键字:

javacalendar

java 订阅