在java中经常会用到和时间日期有关的各种操作,今天就对于Date的几中常用的用法做一个总结:
-Date类 :
1.表示日期的类
2.提供了很多的操作日期的方法,但是很多方法被java标记为过时
public class TestDateAPIClass {
@Test
public void testMethod1(){
Date date=new Date();
System.out.println(date.getYear());
}
}
在eclipse可以看出,getYear()方法被划了横线,这说明该方法已经过时了.了解一下就好.
-SimpleDateFormat类:是工具类
1.parse方法:讲日期的字符串转换为日期
2.format方法将日期对象转换为日期字符串
3.在转换的时候可以提供转换格式
package www.lxk.day17.demo3;
import java.util.Calendar;
import java.util.Scanner;
import org.junit.Test;
public class TestCalendarClass {
@Test
public void testMethod1(){
Calendar calendar=Calendar.getInstance();//获取当前的日期对象
calendar.set(Calendar.YEAR, 2020);
calendar.set(2019, 8, 20, 13, 37, 99);
System.out.println(calendar);
System.out.println(calendar.getTime());
System.out.println(calendar.get(Calendar.YEAR));
System.out.println(calendar.get(Calendar.MONTH)+1);
System.out.println(calendar.get(Calendar.DATE));
System.out.println(calendar.get(Calendar.MINUTE));
}
}
-Calendar类:
1.有关于日历相关的类,控制时区
2.提供了大量的方法来操作时间
3.Calendar类是一个抽象类,不能实例化对象
用Calendar calendar=Calendar.getInstance();
package www.lxk.day17.demo3;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.junit.Test;
public class TestSimpleDateFormatAPIClass {
/**
* 不推荐,因为默认的格式是:两位年-月-日 上午/下午 小时:分钟
* 把日期对象转换为字符串
*/
@Test
public void testMenthod1(){
//设置默认的日期格式
SimpleDateFormat simpleDateFormat=new SimpleDateFormat();
//把当前的日期按照默认的日期格式转化为日期字符串,并输出
String str=simpleDateFormat.format(new Date());
System.out.println(str);
}
/**
* 把日期字符串 转换成 日期对象
* 不推荐
* @throws ParseException
*/
@Test
public void testMenthod2() throws ParseException{
SimpleDateFormat simpleDateFormat=new SimpleDateFormat();
//把日期字符串转换成日期对象
Date date=simpleDateFormat.parse("20-1-1 下午2:20");
System.out.println(date);
}
@Test
public void testMethod3(){
//由用户自己设定日期格式
SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd-HH:mm");
//把当前日期对象转换为日期字符串
String str=simpleDateFormat.format(new Date());
System.out.println(str);
}
@Test
public void testMethod4() throws ParseException{
//由用户自己设定日期格式
SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy年MM月dd日HH:mm");
//把日期字符串转换成日期对象
Date date=simpleDateFormat.parse("1997年03月18日09:00");
System.out.println(date);
}
}
结论:(总结一下就是下面的这三句话,大家牢记就好)
使用Date对象存储日期的数据,
用Calendar操作Date对象中的日期对象的数据,
用SimpleDateFormat做Date对象和日期字符串的相互转换