Java复习笔记14【Calendar类的简单使用】
来源:互联网 发布:java Renameto什么意思 编辑:程序博客网 时间:2024/05/02 04:16
package com.lesson11.example;
import java.util.Calendar;
import java.util.Date;
/*
*简单了解Calendar类,操作时间日期
* */
public class CalendarExample {
public static void main(String args[]){
/** Calendar类是抽象类,且Calendar类的构造方法是protected的,所以* 无法使用Calendar类的构造方法来创建对象,则需要getInstance方法用来创建对象。* ---------------------------------------------------------* 方法:public static Calendar getInstance()* 功能:创建 Calendar对象* 返回值:Calendar* 注意:getInstance是静态方法,所以可以直接使用类名调用* *///创建Calendar对象
Calendar today = Calendar.getInstance();//System.out.println(today);//输出时间的具体信息:java.util.GregorianCalendar[time=1430445161507,//areFieldsSet=true,…… YEAR=2015,MONTH=4,WEEK_OF_YEAR=18, ……]
/** 方法:public final void setTime(Date date)* 功能:根据给定的时间设置Calendar对象* 参数:Date* 返回值:void* *///根据给定时间设置Calendar对象Date date = new Date(2001-1900,2,13);//不建议使用Date的该带参构造方法today.setTime(date);//设置指定时间//System.out.println(today);//……time=984412800000……YEAR=2001……//初始化Calendar对象(一般用于重置时间时)today.setTime(new Date());//System.out.println(today);//……YEAR=2015,MONTH=4,WEEK_OF_YEAR=18……
/** 除了使用Date类型,也可以直接使用Calendar中的set方法设置指定时间* -----------------------------------------------------* 方法:public final void set(int year,int month,int date,* int hourOfDay,int minute)* 功能:设置Calendar对象的年月日时分* 返回值:void* ------------------------------------------------------* 方法:public final void set(int year,int month,int date)* 功能:设置Calendar对象的年月日* 返回值:void* -------------------------------------------------------* 方法:public void set(int field,int value)* 功能:设置时间中指定的某个字段* 参数:int field 指定的字段* int value 指定字段值* 返回:void* ------------------------------------------------------* 参数field代表要设置的字段的类型,常见类型如下:* Calendar.YEAR——年份* Calendar.MONTH——月份(月份从0开始, 实际月份显示要加1)* Calendar.DATE——日期* Calendar.DAY_OF_MONTH——日期,和上面的字段完全相同* Calendar.HOUR——12小时制的小时数* Calendar.HOUR_OF_DAY——24小时制的小时数* Calendar.MINUTE——分钟* Calendar.SECOND——秒* Calendar.DAY_OF_WEEK——星期(周日是1,周一是2,周二是3……)* */today.set(Calendar.YEAR, 2009);today.set(Calendar.MONTH, 10);//System.out.println(today);//输出:……YEAR=2009,MONTH=10……today.setTime(new Date());
/** 方法:public int get(int field)* 功能:获取指定字段的值* 参数:int field 指定字段* 返回:int 获取的字段值* */int year = today.get(Calendar.YEAR); //显示年份int month = today.get(Calendar.MONTH) + 1; //显示月份int day = today.get(Calendar.DATE); //显示日期System.out.println("具体日期是"+year+"-"+month+"-"+day); //具体日期是2015-5-1//本月第N天,和Calendar.DATE一样int day_of_month = today.get(Calendar.DAY_OF_MONTH);System.out.println(day_of_month);//1//今年第N天int day_of_year = today.get(Calendar.DAY_OF_YEAR);System.out.println(day_of_year);//121//获取星期int day_of_week = today.get(Calendar.DAY_OF_WEEK);System.out.println(day_of_week);//6,实际为星期五
/** 方法:public abstract void add(int field,int amount)* 功能:在Calendar对象中的某个字段上增加或减少一定的数值* 参数:int field 需要修改的字段值* int amount 添加或减少的数值* *///5分钟以前today.add(Calendar.MINUTE,-5);int min5 = today.get(Calendar.MINUTE);System.out.println(min5);//计算当前时间30天以后的日期today.add(Calendar.DATE,30);//在日期字段上修改,类内部会重新计算该日期对象中其它各字段的值int y = today.get(Calendar.YEAR);int m = today.get(Calendar.MONTH)+1;int d = today.get(Calendar.DATE);System.out.println(y+"-"+m+"-"+d);
/** 方法:public boolean after(Object when)* 功能:判断当前日期对象是否在when对象的后面* 参数:Object when 指定的日期* 返回值:boolean* true 当前日期在指定日期之后* false 当前日期在指定日期之前* --------------------------------------* 方法:public boolean before(Object when)* 功能:判断当前日期对象是否在when对象之前* 参数:Object when 指定的日期* 返回值:boolean* */Calendar before = Calendar.getInstance();before.set(2015,1,1);System.out.println(today.after(before));//trueSystem.out.println(today.before(before));//false
/** 方法:public int compareTo(Calendar anotherCalendar)* 功能:比较两个Calendar对象(可用于比较时间)* 参数:Calendar anotherCalendar* 返回值:int* 0 Calendar == anotherCalendar* -1 Calendar < anotherCalendar* 1 Calendar > anotherCalendar* *///今天和之前相比System.out.println(today.compareTo(before));//1//今天和今天相比System.out.println(today.compareTo(today));//0
/** Calendar对象和相对时间之间的转化:Calendar <--> long* --------------------------------------------* 方法:public long getTimeInMillis()* 功能:将Calendar对象转化成long型* 参数:无* 返回值:long* --------------------------------------------* 方法:public void setTimeInMillis(long millis)* 功能:将long型转化成Calendar对象* 参数:long millis 毫秒数* 返回值:void* *///计算today和before两个日期之间相差的天数//将Calendar对象转化成相对时间long todayMillis = today.getTimeInMillis();long beforeMillis = before.getTimeInMillis();long days = (todayMillis - beforeMillis)/(24 * 60 * 60 * 1000);System.out.println(days);
}
}
0 0
- Java复习笔记14【Calendar类的简单使用】
- Java复习笔记13【Date类的简单使用】
- Java基础复习:Calendar类
- Java中Date和Calendar类的简单使用
- java日历类Calendar简单使用
- java日历类Calendar简单使用
- Calendar的简单使用
- Java笔记之Calendar使用
- Java calendar的使用
- Java的Calendar使用
- java Calendar的使用
- JAVA 按年月打印日历 Calendar的简单使用
- java中时间类Calendar的使用
- java.util.Calendar类的使用
- java日期类 calendar的使用
- 【点滴】Java Calendar 类的使用
- java中Calendar类的使用
- Java之Calendar类的使用实例
- lua学习笔记之再淡for语句的遍历
- python 正则表达式
- EFI引导win8 + ubuntu双系统
- java求1至19这些自然数数中,所有相加为20的组合
- CSDN博客支持Windows Live Writer离线写博客
- Java复习笔记14【Calendar类的简单使用】
- Android Studio系列教程一--下载与安装
- 简单的性能自动化测试架构设计和实现(pylot)-python
- 协方差 方差 以及线性相关理解
- Centos 7添加用户
- linux调度器_第三代cfs(1)_引入
- JAVAIO—字节流
- Matlab协方差矩阵的计算原理
- Spark 1.3与hadoop2.6在64位最小安装的CentOS 7中的部署