美文网首页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笔记:时间处理相关类(下)

    上节我们聊到了「时间格式化字符」,实际上它也为我们提供其他的便利。 比如:获得当前时间是今年的第几天。代码如下...

  • 8.3-全栈Java笔记:时间处理相关类(上)

    时间处理相关类 “时间如流水,一去不复返”,时间是一个一维的东东。所以,我们需要一把刻度尺来区表达和度量时间。在计...

  • 技术体系

    一,java核心 java基础,jvm,算法,多线程,设计模式 Java基础:java基础相关,全栈java基础 ...

  • Java--时间处理相关类

      “时间如流水,一去不复返”,时间是一个一维的东东。所以,我们需要一把刻度尺来表达和度量时间。在计算机世界,我们...

  • 6.4-全栈Java笔记:异常处理办法(下)

    自定义异常 在程序中,可能会遇到任何标准异常类都没有充分的描述清楚的问题,这种情况下可以创建自己的异常类。 从Ex...

  • JDK相关的基本概念和安装

    今天加入华为大数据全栈成长计划学习,并开始记录学习笔记。 JDK相关的基本概念 JDK是用来开发Java程序的,J...

  • java基础-时间相关(篇一 java7)

    简单介绍一下java时间相关的操作,以及线程并发相关的一些问题 首先,java时间相关类,常见的情况,分java7...

  • 2016年8月4日学习笔记

    安装环境概要 课后配置环境 学会学习笔记(markdown) 全栈工程师 全栈工程师需要做什么? 前端分为两类 原...

  • Java常用类

    时间类java.util.Date类,处理时间日期类java.util.Calendar类,封装日历信息java....

  • Java 线程 - 创建线程的方式及实现

    学习完整课程请移步 互联网 Java 全栈工程师 继承 Thread 类创建线程类 定义 Thread 类的子类,...

网友评论

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

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