Calendar使用

1简单例子

package com.kungeek.tip;

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

public class Test
{  

  public static void main(String[] args) throws Exception
  {
     //字符串转换日期格式
      SimpleDateFormat fmtDateTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
     //得到日期格式对象
     Date setDate = fmtDateTime.parse("2010-03-03 12:12:12");
     //日期转换为字符串格式
     String setStr = (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS")).format(setDate);
     System.out.println(setStr);  

    // 完整显示日期时间
    String str = (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS")).format(new Date());
    System.out.println(str);  

    // 创建 Calendar 对象
    Calendar calendar = Calendar.getInstance();
    // 初始化 Calendar 对象,但并不必要,除非需要重置时间
    calendar.setTime(new Date());  

    // setTime 类似上面一行
    // Date date = new Date();
    // calendar.setTime(setDate);  

    // 显示年份
    int year = calendar.get(Calendar.YEAR);
    System.out.println("YEAR is = " + String.valueOf(year));  

    // 显示月份 (从0开始, 实际显示要加一)
    int MONTH = calendar.get(Calendar.MONTH);
    System.out.println("MONTH is = " + (MONTH + 1));  

    // 今年的第 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);  

    // 格式化显示
    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("重置 Calendar 显示当前时间  :"+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));
  }
}  

结果输出

2015-10-12 16:13:21:655
YEAR is = 2015
MONTH is = 10
DAY_OF_YEAR is = 285
DAY_OF_MONTH = 12
HOUR_OF_DAY + 3 = 19
MINUTE = 13
MINUTE + 15 = 28
MINUTE - 30 = 58
经过一些运算后现在时间是  :2015-10-12 18:58:21:655
重置 Calendar 显示当前时间  :2015-10-12 16:13:21:655
时间比较:-1
时间比较:1
时间比较:0
时间: 2024-10-10 13:55:23

Calendar使用的相关文章

常用工具类(System,Runtime,Date,Calendar,Math)

一.Sy 一个java.lang包中的静态工具类. 三大字段: static PrintStream err "标准"错误输出流. static InputStream in "标准"输入流. static PrintStream out "标准"输出流. 其他常用方法: 描述系统信息: 获取系统属性信息: static Properties getProperties(): (Properties是Hashtable的子类,也就是Map 的子类

Java API —— Calendar类

1.Calendar类概述  Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEAR.MONTH.DAY_OF_MONTH.HOUR 等 日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法. 2.成员方法      public static Calendar getInstance():初始化,返回子类对象 public int get(int field):返回给定日历字段的值 public void add(int field,int am

Java日期与时间的处理/Date,String,Calendar转换

public class Demo01 { //Java中Date类和Calendar简介 public static void main(String[] args) { long now=System.currentTimeMillis(); System.out.println("now= "+now); Date d1=new Date(now); System.out.println("d1= "+d1); Calendar c1=Calendar.get

java 日期操作,Date、Calendar 操作

java开发中避免不了日期相关操作,这里总结了一些常用方法~ 直接上码: package jse; import java.io.UnsupportedEncodingException; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.Locale; /**  * 常用日期操

Date、Calendar、DateFormat、SimpleDateFormat、Timer、TimerTask类

类 Date 在 JDK 1.1 之前,类 Date 有两个其他的函数.它允许把日期解释为年.月.日.小时.分钟和秒值. 它也允许格式化和解析日期字符串.不过,这些函数的 API 不易于实现国际化.从 JDK 1.1 开始,应 该使用 Calendar 类实现日期和时间字段之间转换,使用 DateFormat 类来格式化和解析日期字符串. Date 中的相应方法已废弃. Date() 分配 Date 对象并初始化此对象,以表示分配它的时间(精确到毫秒). Date(long date) 分配 D

关于获取某月某日最后一天时Calendar的cal.getActualMaximum(Calendar.DAY_OF_MONTH)的吐槽

例如: 在2017.03.29-31号 新建一个Calendar的単例 设置年:2017 设置月:2 int day = cal.getActualMaximum(Calendar.DAY_OF_MONTH) 得到日期为:3 例如: 在2017.03.01-28号 新建一个Calendar的単例 设置年:2017 设置月:2 int day = cal.getActualMaximum(Calendar.DAY_OF_MONTH) 得到日期为:28 原因: 1.Calendar类当你set的时候

Java:日期类Date与Calendar

怎么获取系统系统时间,通过java? Date now= new Date(); SimpleDateFormat dateFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSSSSSSSS"); String nowFormate= dateFormat.format(now); System.out.println(nowFormate); 输出结果 2017-02-16 20:56:12.000000278 如何获取当前系统是星期

Calendar 对象的使用实例

1.Calendar demo例子 JavaCalendar 类时间操作,示范代码. public class CalendarDemo { private static SimpleDateFormat date_format = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); public static void main(String[] args) { //获取calendar实例; Calendar calendar = Calend

转——JAVA中calendar,date,string 的相互转换和详细用法

package cn.outofmemory.codes.Date; import java.util.Calendar; import java.util.Date; public class CalendarDemo { public static void main(String[] args) { Calendar calendar=Calendar.getInstance(); calendar.setTime(new Date()); System.out.println("现在时间

java.util.Calendar简介

java.util.Calendar简介 一般写为:import java.util.Calendar;在开头 然后在中间写上, Calendar cal = Calendar.getInstance(); int year=cal.get(Calendar.YEAR); int month=cal.get(Calendar.MONTH);就可以了: Calendar是一个抽象类,我们无法直接实例化它,它有一个具体子类实体类java.util.GregorianCalendar,这个类实现的就是