Java类库之日期操作类(核心)
在Java之中,如果要想表示出日期型,则使用java.util.Date类完成。
如果要想通过这个类取得当前的日期时间,那么只需要直接实例化Date类对象即可:public Date()。
import java.util.Date;
public class TestDemo {
public static void main(String[] args) throws Exception {
Date date = new Date();
System.out.println(date); // Tue Dec 18 10:02:28 CST 2012
}
}
但是发现,这个时候返回的日期时间实在是不能够被一些人所看懂,所以在之后需要对其进行转换。
提示:关于long和日期时间的转换
在Date对象之中本身是包含了日期时间数据,但是如果要想让其和long数据之间互相转换,则需要以下方式:
方式一:将Date型数据变为long型数据,public long getTime()
import java.util.Date;
public class TestDemo {
public static void main(String[] args) throws Exception {
Date date = new Date();
long num = date.getTime() ;
System.out.println(num);
}
}
//Tue Apr 02 18:21:52 CST 2019
//1554200512396
方式二:将long型变为日期型数据,public Date(long date)
import java.util.Date;
public class TestDemo {
public static void main(String[] args) throws Exception {
Date date = new Date(System.currentTimeMillis()); // long --> Date
System.out.println(date);
}
}
日期格式化操作类:SimpleDateFormat(死了都要会)
在Oracle之中存在了TO_CHAR()函数(最终的数据是字符串),可以将一个日期型的数据进行格式化的操作显示,而在Java之中也可以通过java.text.SimpleDateFormat类完成TO_CHAR()函数的功能和TO_DATE()函数的功能。
但是考虑到实际问题,对于SimpleDateFormat类并不太需要关心它的继承结构了,只关心三个方法:
· 构造方法:public SimpleDateFormat(String pattern);
· 将日期格式化为字符串:public final String format(Date date);
· 将字符串格式化为日期:public Date parse(String source) throws ParseException;
但是除了以上的三个核心操作方法之外,如果要想正常的完成格式化的操作,还需要准备出一些标记:年(yyyy)、月(MM)、日(dd)、时(HH)、分(mm)、秒(ss)、毫秒(SSS)。
范例:将日期变为字符串,格式化显示
import java.text.SimpleDateFormat;
import java.util.Date;
public class TestDemo {
public static void main(String[] args) throws Exception {
Date date = new Date(); // 当前日期
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
String str = sdf.format(date); // 将日期格式化为字符串
System.out.println(str);
}
}
范例:将字符串格式化为日期
import java.text.SimpleDateFormat;
import java.util.Date;
public class TestDemo {
public static void main(String[] args) throws Exception {
String str = "1980-09-19 12:12:12.122";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
Date date = sdf.parse(str); // 将字符串变为日期
System.out.println(date);
}
}
提示:完成了以上的代码之后,实际上对于数据表和简单Java类的映射就应该彻底完成了,数据库之中的日期时间可以通过java.util.Date进行表示。
而且此时发现字符串可以向基本数据类型(包装类)、日期类型(SimpleDateFormat)进行转换,反过来,基本数据类型(String.valueOf())和日期类型(SimpleDateFormat)也可以向字符串进行转换。