黑马程序员 学习Calendar获取日期和时间应用实例和感悟

本文介绍如何使用Java的Calendar类来获取指定年份2月的天数,并演示如何获取当前的日期和时间。
---------------------- ASP.Net+Unity开发.Net培训、期待与您交流! ----------------------

   学习JAVA想想也有一段时间了,以前在学校学习的也不是计算机专业,所以也没有学过JAVA,现在自学起来还是有些吃力,幸好网络上有这么多的学习资源,感谢那些能将那些资料分享出来的同志,你们都是好样的,正因为有你们的的分享,才能让我们这些有着对知识渴望的人们有了学习的方法和路径,谢谢你们。今天第一次写博客,最近通过视频学习到了关于日历的获取的一些方法,在此记录下来。

   在JDK API 1.6.0中java.util中有Calendar这么一个类,由于Calendar是一个抽象类,使用该类时不能直接通过new Calendar()创建对象,不过在它的方法摘要中有getInstance()方法,返回的是静态的Calendar,通过该方法就可以使用默认时区和语言环境获得一个日历。

即:Calendar cal = Calendar. getInstance();这样就可以得到一个日历对象。当得到一个日历对象后就可以使用相应的方法对日历对象中的成员进行操作了。

Calendar常用方法有:

set(int field, int value) 将给定的日历字段设置为给定值;

set(int year, int month, int date)设置日历字段 YEAR、MONTH 和 DAY_OF_MONTH 的值;

set(int field) 返回给定日历字段的值。


下面是一个老师讲一个小范例,老师讲了一遍后,然后我再根据自己的理解再写了一遍。

packagecom.it2.calendard.emo;

 

import java.util.Calendar;

/*

 * 获取指定的某一年的2月有多少天?

 *

 * 思路:要想知道指定年份的2月有多少天,可以通过Calendar的add方法设置时间偏移。

 * 具体是先将时间设置在指定年份的3月1日,然后再将时间向前偏移一天就是2月份的最后一天,

 * 然后再通过get方法就可以获得2月份最后一天的值,就知道了2月份有多少天。

 *

 */

public class CalendarDemo {

    public static void main(String[] args){

        int year = 2016;

        getDayMethod(year);

    }

    private static void getDayMethod(int year) {

        //通过getInstance方法获取一个日历

        Calendar cal =Calendar.getInstance();

        //设置日历字段

        cal.set(year, 2, 1);

        //设置日期偏移

        cal.add(cal.DAY_OF_MONTH, -1);

        //获得日期

        int num = cal.get(cal.DAY_OF_MONTH);

        System.out.println(year+"年的2月有"+num+"天.");

    }

}

学习这些知识以后加入我们想获得当前的日期和时间久很容易了,方法是首先得到一个日历对象,通过get方法得到日历中的相应字段的值,比如日期中的年月日,时间中的时分秒,都可以很轻松的拿到这些值。下面的是我写代码:

packagecom.it2.calendard.emo;

import java.util.Calendar;

/*

 * 需求:获取当前日期和时间。

 *

 *

 */

public class GetCurrentCalendar {

    public static void main(String[] args){

        GetCurrentCalendarMethod();

    }

    private static voidGetCurrentCalendarMethod() {

        //获得日历对象

        Calendar cal =Calendar.getInstance();

        //获取日历对象的相应字段值

        int year = cal.get(cal.YEAR);

        int month = cal.get(cal.MONTH);

        int day = cal.get(cal.DAY_OF_MONTH);

        int hour = cal.get(cal.HOUR);

        int min = cal.get(cal.MINUTE);

        int sec = cal.get(cal.SECOND);

        //指定格式打印输出结果

        System.out.println("当前日期:"+year+"-"+month+"-"+day);

        System.out.println("当前时间:"+hour+":"+min+":"+sec);

    }

}

打印结果;

当前日期:2014-5-13

当前时间:1:57:45


          

 



---------------------- ASP.Net+Unity开发.Net培训、期待与您交流! ----------------------详细请查看:www.itheima.com
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值