日期相关的类
Date类
基本概念
java.util.Date
类用于描述特征的瞬间,可以精确到毫秒数
常用的方法
Date()
使用无参的方式构造对象,默认采用当前系统时间来初始化
Date(long date)
根据参数指定的毫秒数来构造对象。
- 其中参数为距离1970年1月1日0时0分0秒以来的毫秒数
- 1秒 = 1000毫秒
可File类中的方法搭配使用。
long getTime()
用于获取当前调用对象距离1970年1月1日0时0分0秒的毫秒数void setTime(long time)
用于设置当前调用对象的时间为距离1970年1月1日0时0分0秒的毫秒数。
SimpleDateFormat类
基本概念java.text.SimpleDateFormat
类主要用于实现日期和文本之间的转换
常用的方法
SimpleDateFormat(String pattern)
根据参数指定的模式来构造对象
- 常用的模式有:y-年 M-月 d-日 H-时 m-分 s-秒
public final String format(Date date)
用于实现Date类型向String类型的转换
Date parse(String source)
用于实现String类型向Date类型的转换。
Calendar类
基本概念
java.util.Calendar
类用于描述特定的瞬间,来取代Date类中的过时方法
该类是个抽象类,因此该类不能构造对象。
常用的方法
static Calendar getInstance()
用于获取Calendar类型的引用并返回
void set(int year, int month, int date, int hourOfDay, int minute, int second)
用于设置年月日时分秒信息
Date getTime()
用于将Calendar类型的时间转换为Date类型的对象并返回
一个小案例: 提示用户按照指定的格式输入生日信息,计算距离1970年1月1日的天数并打印出来
//1.提示用户按照指定的格式输入生日信息并使用变量记录
System.out.println("请输入您的生日信息(xxxx年xx月xx日):");
Scanner sc = new Scanner(System.in);
String str = sc.next();
//2.根据用户输入的生日信息转换为距离1970年1月1日的天数并记录
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日");
//实现字符串内容向Date类型的转换
Date d1 = sdf.parse(str);
System.out.println("根据用户输入的字符串转换的日期是:" + d1);
//获取距离1970年1月1日的毫秒数
long msec = d1.getTime();
System.out.println("距离1970年1月1日的毫秒数为:" + msec);
//转换为天数
long day = (msec/1000/3600+8)/24;
//3.打印最终的转换结果
System.out.println("距离1970年1月1日的天数为:" + day);
本博客所有文章除特别声明外,均采用 CC BY-SA 3.0协议 。转载请注明出处!