java 日历工具_java中强大的时间处理工具:Calendar类(日历类)

java中的Calendar类为什么起个名字就叫做日历呢?因为这个类可以让我们像看日历一样得到这个时间的所有属性,你还在为不知道2014年5月7日是周几而苦恼吗?你还在为2005年8月14日是8月的第几周而发愁吗?快来试一试Calendar吧。

Calendar的常用属性

属性

作用

YEAR

年份

MONTH

月份

DATE

同DAY_OF_MONTH,日期

DAY_OF_MONTH

同DATE,日期

DAY_OF_YEAR

这一天是这一年中的第几天

DAY_OF_WEEK_IN_MONTH

当前月中的第几周

DAY_OF_WEEK

一周中的第几天 / 星期

HOUR

12小时制的时间

HOUR_OF_DAY

24小时制的时间

MINUTE

分钟数

SECOND

秒数

MILLISECOND

毫秒

Calendar的常用方法

方法

效果

public static Calendar getInstance(TimeZone zone,Locale aLocale)

获得一个日历对象

public int get(int field)

传入field字段获得给定日历字段的值

public final void set(int year,int month,int date,int hourOfDay,int minute,int second)

设置日历对象代表的时间

public final void setTime(Date date)

使用给定的 Date 设置此 Calendar 的时间。

public void setTimeInMillis(long millis)

用给定的 long 值设置此 Calendar 的当前时间值。

public final Date getTime()

返回一个表示此 Calendar 时间值(从历元至现在的毫秒偏移量)的 Date 对象。

public long getTimeInMillis()

返回此 Calendar 的时间值,以毫秒为单位。

public int getActualMaximum(int field)

传入Calendar.Date,得到这个月可能有多少天

接下来,举个栗子:

package test;

import java.text.ParseException;

import java.text.SimpleDateFormat;

import java.util.Calendar;

import java.util.Date;

public class testCalendar {

public static void main(String[] args) throws ParseException {

Calendar c = Calendar.getInstance();

System.out.println(c.getTime());

// 获得年份

System.out.println("现在是:" + c.get(Calendar.YEAR) + "年");

// 获得月份

System.out.println("现在是:" + (c.get(Calendar.MONTH)+1) + "月");

//获得日期

System.out.println("现在是:" + c.get(Calendar.DATE) + "号");

System.out.println("现在是:" + c.get(Calendar.DAY_OF_MONTH) + "号");

// 获得这是今年的第几天

System.out.println("现在是今年第" + c.get(Calendar.DAY_OF_YEAR) + "天");

// 获得今天周几

System.out.println("现在是星期:" + (c.get(Calendar.DAY_OF_WEEK)-1) );

// 获得今天是这个月的第几周

System.out.println("现在是第:" + c.get(Calendar.DAY_OF_WEEK_IN_MONTH) + "周" );

// 12小时制的时间

System.out.println("现在是:" + c.get(Calendar.HOUR) + "点");

// 24小时制的时间

System.out.println("现在是:" + c.get(Calendar.HOUR_OF_DAY) + "点");

// 分钟数

System.out.println("现在是:" + c.get(Calendar.MINUTE) + "分");

// 秒数

System.out.println("现在是:" + c.get(Calendar.SECOND) + "秒");

// 毫秒

System.out.println("现在是:" + c.get(Calendar.MILLISECOND) + "毫秒");

SimpleDateFormat dc = new SimpleDateFormat();

dc.applyPattern("yyyy-MM-dd");

Date d = dc.parse("2017-5-13");

c.setTime(d);

System.out.println("--------------------2017-5-13信息-----------------------");

// 获得年份

System.out.println("现在是:" + c.get(Calendar.YEAR) + "年");

// 获得月份

System.out.println("现在是:" + (c.get(Calendar.MONTH)+1) + "月");

//获得日期

System.out.println("现在是:" + c.get(Calendar.DATE) + "号");

System.out.println("现在是:" + c.get(Calendar.DAY_OF_MONTH) + "号");

// 获得这是今年的第几天

System.out.println("现在是今年第" + c.get(Calendar.DAY_OF_YEAR) + "天");

// 获得今天周几

System.out.println("现在是星期:" + (c.get(Calendar.DAY_OF_WEEK)-1) );

// 获得今天是这个月的第几周

System.out.println("现在是第:" + c.get(Calendar.DAY_OF_WEEK_IN_MONTH) + "周" );

}

}

运行结果如下:

Thu Apr 11 17:53:52 CST 2019

现在是:2019年

现在是:4月

现在是:11号

现在是:11号

现在是今年第101天

现在是星期:4

现在是第:2周

现在是:5点

现在是:17点

现在是:53分

现在是:52秒

现在是:818毫秒

--------------------2017-5-13信息-----------------------

现在是:2017年

现在是:5月

现在是:13号

现在是:13号

现在是今年第133天

现在是星期:6

现在是第:2周

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值