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) |
2 | boolean before(Date date) |
3 | Object clone( ) |
4 | int compareTo(Date date) |
5 | int compareTo(Object obj) |
6 | boolean equals(Object date) |
7 | long getTime( ) |
8 | int hashCode( ) |
9 | void setTime(long time) |
10 | String toString( ) |
获取当前日期时间
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());
}
}
运行结果如下:
日期比较
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));
}
}
运行结果如下:
日期和时间格式有日期和时间模式字符串制定,在日期和时间模式字符串中,从’A’到’Z’以及从’a’到’z’引号的字母被解释为日期或时间字符串组件的模式字母。
常用的模式字母对应如下
SimpleDataFormat的构造方法
方法名 | 说明 |
public SimpleDateFormat() | 构造一个SimpleDateFormat,使用默认模式和日期格式 |
Public SimpleDateFormat(String pattern) | 构造一个SimpleDateFormat使用给定的模式和默认的日期格式 |
SimpleDataFormat格式化和解析日期
- 格式化(从Data到String)
Public final String format(Data data):将日期格式转化成日期/时间字符串
- 解析(从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+"天"); } }