美文网首页Java学习笔记
8.4-全栈Java笔记:时间处理相关类(下)

8.4-全栈Java笔记:时间处理相关类(下)

作者: 全栈JAVA笔记 | 来源:发表于2017-07-03 09:12 被阅读48次

    上节我们聊到了「时间格式化字符」,实际上它也为我们提供其他的便利。

        比如:获得当前时间是今年的第几天。代码如下:

    public class   Test {

        public static void   main(String[] args) {

           SimpleDateFormat s1 = new   SimpleDateFormat("D");

           String daytime = s1.format(new   Date());

           System.out.println(daytime);

        }

    }

    Calendar日历类

    Calendar 类是一个抽象类,为我们提供了关于日期计算的相关功能,比如:年、月、日、时、分、秒的展示和计算。

    GregorianCalendar 是Calendar 的一个具体子类,提供了世界上大多数国家/地区使用的标准日历系统。 

    菜鸟雷区

    注意月份的表示,一月是0,二月是1,以此类推,12月是11。 因为大多数人习惯于使用单词而不是使用数字来表示月份,这样程序也许更易读,父类Calendar使用常量来表示月份:JANUARY、FEBRUARY等等。

    【示例1GregorianCalendar类和Calendar类的使用

    package   com.bjsxt.gao;

    import   java.util.*; 

    public class   TestCanlendar {

        public static void   main(String[] args) {  

           //得到相关日期元素

           GregorianCalendar calendar = new   GregorianCalendar(2999,10,9,22,10,50);

           int   year = calendar.get(Calendar.YEAR);          //打印:1999

           int   month = calendar.get(Calendar.MONTH);     //打印:10

           int   day = calendar.get(Calendar.DAY_OF_MONTH);   //打印:9

           int   day2 = calendar.get(Calendar.DATE);       //打印:9  

    //  日:Calendar.DATE和Calendar.DAY_OF_MONTH同义

           int   date = calendar.get(Calendar.DAY_OF_WEEK);   //打印:3  

    //  星期几       这里是:1-7.周日是1,周一是2,。。。周六是7

           System.out.println(year);

           System.out.println(month);

           System.out.println(day);

           System.out.println(day2);

           System.out.println(date);

           //设置日期

           GregorianCalendar calendar2 = new   GregorianCalendar();

           calendar2.set(Calendar.YEAR,   2999);

           calendar2.set(Calendar.MONTH,   Calendar.FEBRUARY);  //月份数:0-11

           calendar2.set(Calendar.DATE,   3);

           calendar2.set(Calendar.HOUR_OF_DAY,   10);

           calendar2.set(Calendar.MINUTE,   20);

           calendar2.set(Calendar.SECOND,   23);

           printCalendar (calendar2); 

           //日期计算

           GregorianCalendar calendar3 = new   GregorianCalendar(2999,10,9,22,10,50);

           calendar3.add(Calendar.MONTH,   -7);  //月份减7

           calendar3.add(Calendar.DATE,   7);  //增加7天

           printCalendar (calendar3);

           //日历对象和时间对象转化

           Date d = calendar3.getTime();

           GregorianCalendar calendar4 = new   GregorianCalendar();

           calendar4.setTime(new   Date());     

            long  g =    System.currentTimeMillis();

        }

        static void   printCalendar (Calendar calendar){

           int   year = calendar.get(Calendar.YEAR);

           int   month = calendar.get(Calendar.MONTH)+1;

           int   day = calendar.get(Calendar.DAY_OF_MONTH);

           int   date = calendar.get(Calendar.DAY_OF_WEEK)-1;   //星期几 

           String week = ""+((date==0)?"日":date);   

           int   hour = calendar.get(Calendar.HOUR);

           int   minute = calendar.get(Calendar.MINUTE);

           int   second = calendar.get(Calendar.SECOND);

           System.out.printf("%d年%d月%d日,星期%s   %d:%d:%d\n",year,month,day,week,hour,minute,second);

        }  

    示例1  运行效果图


    「全栈Java笔记」是一部能帮大家从零到一成长为全栈Java工程师系列笔记。笔者江湖人称 Mr. G,10年Java研发经验,曾在神州数码、航天院某所研发中心从事软件设计及研发工作,从小白逐渐做到工程师、高级工程师、架构师。精通Java平台软件开发,精通JAVAEE,熟悉各种流行开发框架。

    笔记包含从浅入深的六大部分:

    A-Java入门阶段

    B-数据库从入门到精通

    C-手刃移动前端和Web前端

    D-J2EE从了解到实战

    E-Java高级框架精解

    F-Linux和Hadoop 

    相关文章

      网友评论

        本文标题:8.4-全栈Java笔记:时间处理相关类(下)

        本文链接:https://www.haomeiwen.com/subject/iplacxtx.html