美文网首页
Java的时间和日期

Java的时间和日期

作者: TESTME | 来源:发表于2019-02-22 10:21 被阅读0次

java.util 包提供了 Date 类来封装当前的日期和时间

Date( ) 这个构造函数使用当前日期和时间来初始化对象
Date(long millisec) 这个构造函数接收一个参数,该参数是从1970年1月1日起的毫秒数

Date对象的基本方法

toString( ) //把此 Date 对象转换为以下形式的 String: dow mon dd hh:mm:ss zzz yyyy 其中: dow 是一周中的某一天 (Sun, Mon, Tue, Wed, Thu, Fri, Sat)
after(Date date) //若当调用此方法的Date对象在指定日期之后返回true,否则返回false
before(Date date) //若当调用此方法的Date对象在指定日期之前返回true,否则返回false
clone( ) //返回此对象的副本
compareTo(Date date) //比较当调用此方法的Date对象和指定日期。两者相等时候返回0。调用对象在指定日期之前则返回负数。调用对象在指定日期之后则返回正数。
equals(Object date) //当调用此方法的Date对象和指定日期相等时候返回true,否则返回false
getTime( ) //返回自1970年1月1日00:00:00 GMT 以来此 Date 对象表示的毫秒数
setTime(long time) //用自1970年1月1日00:00:00 GMT以后time毫秒数设置时间和日期
hashCode( ) //返回此对象的哈希码值

1.获取当前日期时间

import java.text.SimpleDateFormat;
import java.util.*;

public class JavaDate {
    public static void main(String args[]){
        Date currentDate = new Date();
        System.out.println(currentDate.toString());
        
        SimpleDateFormat ft = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
        System.out.println(ft.format(currentDate));
    }
}

2.使用printf格式化日期

c:包括全部日期和时间信息 //星期六 十月 27 14:21:20 CST 2007
F:"年-月-日"格式 //2007-10-27
D:"月/日/年"格式 //10/27/07
r:"HH:MM:SS PM"格式(12时制)//02:25:51 下午
T:"HH:MM:SS"格式(24时制) //14:28:16
R:"HH:MM"格式(24时制)//14:28
import java.text.SimpleDateFormat;
import java.util.*;

public class JavaDate {
    public static void main(String args[]){
        Date currentDate = new Date();
        System.out.printf("%tc%n", currentDate);
        System.out.printf("%tF%n", currentDate);
        System.out.printf("%tD%n", currentDate);
        System.out.printf("%tr%n", currentDate);
        System.out.printf("%tT%n", currentDate);
        System.out.printf("%tR%n", currentDate);
    }
}

3.sleep()方法

public class JavaDate {
    public static void main(String args[]){
        
        try {
            System.out.println("哈哈");
            Thread.sleep(1000*5); //休眠5秒
            System.out.println("呵呵");
        } catch (Exception e) {
            System.out.println("异常");
        }
    }
}

4.Calendar类

Calendar类的功能要比Date类强大很多,而且在实现方式上也比Date类要复杂一些。

Calendar类是一个抽象类,在实际使用时实现特定的子类的对象,创建对象的过程对程序员来说是透明的,只需要使用getInstance方法创建即可。

4.1Calendar类对象字段类型

Calendar.YEAR           年份
Calendar.MONTH          月份
Calendar.DATE           日期
Calendar.DAY_OF_MONTH   日期,和上面的字段意义完全相同
Calendar.HOUR           12小时制的小时
Calendar.HOUR_OF_DAY    24小时制的小时
Calendar.MINUTE         分钟
Calendar.SECOND         秒
Calendar.DAY_OF_WEEK    星期几

4.2Calendar类对象信息的设置

Calendar c1 = Calendar.getInstance();

set():
c1.set(2009, 6 - 1, 12);//把Calendar对象c1的年月日分别设这为:2009、6、12
c1.set(Calendar.DATE,10);//把 c1对象代表的日期设置为10号,其它所有的数值会被重新计算

add():
c1.add(Calendar.DATE, 10); //把c1对象的日期加上10,也就是c1 10天后的日期,其它所有的数值会被重新计算
c1.add(Calendar.DATE, -10); //把c1对象的日期减去10,也就是c1 10天前的日期,其它所有的数值会被重新计算

public class JavaDate {
    public static void main(String args[]){
        Calendar defaut = Calendar.getInstance();
        defaut.set(Calendar.DATE, 10);
        System.out.println(defaut.get(Calendar.DATE));
        
        defaut.add(Calendar.DATE, 30);
        System.out.println(defaut.get(Calendar.DATE));
        System.out.println(defaut.get(Calendar.MONTH));
    }
}

5.GregorianCalendar类

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

注意:月份是从0开始计数的

import java.util.*;

public class JavaDate {
    public static void main(String args[]){
        
        String months[] = {
                  "Jan", "Feb", "Mar", "Apr",
                  "May", "Jun", "Jul", "Aug",
                  "Sep", "Oct", "Nov", "Dec"};
        GregorianCalendar gCl = new GregorianCalendar();
        System.out.print("Date: ");
        System.out.print(months[gCl.get(Calendar.MONTH)]);
        System.out.print(" " + gCl.get(Calendar.DATE) + " ");
        System.out.println(gCl.get(Calendar.YEAR));
        System.out.print("Time: ");
        System.out.print(gCl.get(Calendar.HOUR) + ":");
        System.out.print(gCl.get(Calendar.MINUTE) + ":");
        System.out.println(gCl.get(Calendar.SECOND));
        
        // 测试当前年份是否为闰年
        if(gCl.isLeapYear(gCl.get(Calendar.YEAR))) {
            System.out.println("当前年份是闰年");
        } else {
             System.out.println("当前年份不是闰年");
        }
    }
}

相关文章

  • Java 时间和日期

    序 java.util.Date java.text.SimpleDateFormat java.text.Dat...

  • Java 时间和日期

    1 Date类 1.1 Date类概述   Date类的大部分方法已经过时了,但是也有一些没有过时的方法。Date...

  • Java的时间和日期

    java.util 包提供了 Date 类来封装当前的日期和时间 Date对象的基本方法 1.获取当前日期时间 2...

  • SimpleDateFormat 格式化日期

    包含在Java的 java.text.SimpleDateFormat;包中 日期和时间格式由 日期和时间模式字符...

  • 《写给大忙人看的Java SE 8》——Java8新特性总结(二

    新的日期和时间 API Java8 引入了一个新的日期和时间API,位于java.time包下。新的日期和时间AP...

  • Java8日期/时间API

    旧的日期/时间API的缺点 Java日期与时间类定义不一致,java.util和java.sql包都有日期类,ja...

  • java日期和时间API

    Java API中关于日期和时间,有三个主要的类。 ❑ Date:表示时刻,即绝对时间,与年月日无关。 ❑ Cal...

  • Java基础 日期和时间!!!

    java.util 包提供了 Date 类来封装当前的日期和时间。 Date 类提供两个构造函数来实例化 Date...

  • Java日期和时间总结

    Java日期和时间总结 时区:全球一共有24个时区,英国格林尼治是0时区,北京是东八区, 也就是说格林尼治凌晨1点...

  • Java中的日期和时间

    根据个人目前正在编写的《Java核心编程-基础篇》的规划,这部分属于第15章内容,这里沿用了书中的章节编号。另外,...

网友评论

      本文标题:Java的时间和日期

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