Java中常用的Date类与Calendar类

Data类

Data代表了一个特定的时间,精确到毫秒

方法名

说明

public Date()

分配一个date对象,并初始化,以便它代表它被分配的时间,精确到毫秒

public Date(long data)

分配一个date对象,并将其初始化为表示基准时间起指定的毫秒数

Data的常用方法

方法名

说明

public long getTime()

获取的是日期对象从1970年1月1日00:00:00到现在的毫秒值

public void setTime(long time)

设置时间,给的是毫秒值

Date 对象创建以后,可以调用下面的方法。

序号

方法和描述

1

boolean after(Date date)
若当调用此方法的Date对象在指定日期之后返回true,否则返回false。

2

boolean before(Date date)
若当调用此方法的Date对象在指定日期之前返回true,否则返回false。

3

Object clone( )
返回此对象的副本。

4

int compareTo(Date date)
比较当调用此方法的Date对象和指定日期。两者相等时候返回0。调用对象在指定日期之前则返回负数。调用对象在指定日期之后则返回正数。

5

int compareTo(Object obj)
若obj是Date类型则操作等同于compareTo(Date) 。否则它抛出ClassCastException。

6

boolean equals(Object date)
当调用此方法的Date对象和指定日期相等时候返回true,否则返回false。

7

long getTime( )
返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数。

8

int hashCode( )
 返回此对象的哈希码值。

9

void setTime(long time)
 
用自1970年1月1日00:00:00 GMT以后time毫秒数设置时间和日期。

10

String toString( )
把此 Date 对象转换为以下形式的 String: dow mon dd hh:mm:ss zzz yyyy 其中: dow 是一周中的某一天 (Sun, Mon, Tue, Wed, Thu, Fri, Sat)。

获取当前日期时间

Java中获取当前日期和时间很简单,使用 Date 对象的 toString() 方法来打印当前日期和时间,如下所示:

import java.util.Date;
  
public class DateDemo {
   public static void main(String[] args) {
       // 初始化 Date 对象
       Date date = new Date();
        
       // 使用 toString() 函数显示日期时间
       System.out.println(date.toString());
   }
}

运行结果如下:

d2a7b44da20f4d318f1eab5114d26ec8.png 

日期比较

Java使用以下三种方法来比较两个日期:

  • 使用 getTime() 方法获取两个日期(自1970年1月1日经历的毫秒数值),然后比较这两个值。
  • 使用方法 before(),after() 和 equals()。例如,一个月的12号比18号早,则 new Date(99, 2, 12).before(new Date (99, 2, 18)) 返回true。
  • 使用 compareTo() 方法,它是由 Comparable 接口定义的,Date 类实现了这个接口。

SimpleDataFormat类概述

SimpleDateFormat 是一个以语言环境敏感的方式来格式化和分析日期的类。SimpleDateFormat 允许你选择任何用户自定义日期时间格式来运行。例如:

import  java.util.*;
import java.text.*;
 
public class DateDemo {
   public static void main(String[] args) {
 
      Date dNow = new Date( );
      SimpleDateFormat ft = new SimpleDateFormat ("yyyy-MM-dd hh:mm:ss");
 
      System.out.println("当前时间为: " + ft.format(dNow));
   }
}

运行结果如下:

3418d1de8dda452bb2647ef746ac29d1.png

日期和时间格式有日期和时间模式字符串制定,在日期和时间模式字符串中,从’A’到’Z’以及从’a’到’z’引号的字母被解释为日期或时间字符串组件的模式字母。

常用的模式字母对应如下

3252e5646df0431eb9a0141c412f995d.png

 SimpleDataFormat的构造方法

方法名

说明

public SimpleDateFormat()

构造一个SimpleDateFormat,使用默认模式和日期格式

Public SimpleDateFormat(String pattern)

构造一个SimpleDateFormat使用给定的模式和默认的日期格式

SimpleDataFormat格式化和解析日期

  1. 格式化(从Data到String)

Public final String format(Data data):将日期格式转化成日期/时间字符串

  1. 解析(从String到Data)

Public Data parse(String source):从给定字符串的开始解析文本以生成日期

Calendar类概述

Calendar为某一时刻和一组日历字段之间的转换提供了一些方法,并为操作日历字段提供了一些方法

Calendar提供了一个类方法getInstance用于获取Calendar对象,其日历字段已使用当前日期和时间初始化;

Calendar rightNow = Calendar.getInstance();

Calendar的常用方法

方法名

说明

public int get (int filed)

返回给定的日历字段的值

public abstract void add(int filed,int amount);

根据日历的规则,将指定的时间量加或减去给定的日历字段

public final void set(int year,int month,int data);

设置当前日历的年月日

案例:二月天

获取任意一年的二月有多少天。

代码:


import java.util.Calendar;
import java.util.GregorianCalendar;
import java.util.Scanner;
public class text {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入年份");
        int year = sc.nextInt();
        Calendar c = Calendar.getInstance();
        c.set(year, 2, 1);
        c.add(Calendar.DATE, -1);
        int d = c.get(Calendar.DATE);
          System.out.println(year+"年2月有"+d+"天");

    }
}

f8fe11e52b6147a1b9cf01232fee0e09.png

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值