一. 日期操作类
java.util.Date
如果要想通过这个类获得以后的日期工夫,那么只须要间接实例化 Date 类对象即可:public Date()。
package cn.mldn.demo;
import java.util.Date;
publicclass TestDemo {publicstaticvoid main(String[] args) throws Exception {Date date = new Date();
System.out.println(date); // Tue Dec 18 15:02:28 CST 2020
}
}
然而发现,这个时候返回的日期工夫切实是不可能被一些人所看懂,所以在之后须要对其进行转换。
提醒:
对于 long 和日期工夫的转换在 Date 对象之中自身是蕴含了日期工夫数据,然而如果要想让其和
long 数据之间相互转换,则须要以下形式:
形式一:
将 Date 型数据变为 long 型数据,
public long getTime()
package cn.mldn.demo;
import java.util.Date;
public class TestDemo {public static void main(String[] args)
throws Exception {Date date = newDate();
long num = date.getTime() ;
System.out.println(num);
}
}
形式二:
将 long 型变为日期型数据,
public Date(long date)
package cn.mldn.demo;
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);
}
}
以上的两种转换操作,在日后的开发之中肯定会呈现,必须应用纯熟。
日期格式化操作类:
二.Calendar 类
public abstract class Calendar
间接已知子类:GregorianCalendar
是一个抽象类,须要应用子类对象进行实例化。应用此类能够将日期准确到毫秒。以下获得一个残缺日期。
public class CalendarDemo {public static void main(String[] args) {Calendar calendar = new GregorianCalendar();
// 获得年份
System.out.println("年:" + calendar.get(Calendar.YEAR));
// 获得月份
System.out.println("月:" + (calendar.get(Calendar.MONTH)+1));
// 获得日
System.out.println("日:" + calendar.get(Calendar.DAY_OF_MONTH));
// 获得时
System.out.println("时:" + calendar.get(Calendar.HOUR_OF_DAY));
// 获得分
System.out.println("分:" + calendar.get(Calendar.MINUTE));
// 获得秒
System.out.println("秒:" + calendar.get(Calendar.SECOND));
// 获得毫秒
System.out.println("毫秒:" +calendar.get(Calendar.MILLISECOND));
}
}
留神: 在获得月份的时候要加 1.
三. 日期格式化操作类:
DateFormat 类
此类是一个日期的格式化类,专门用来格式化日期。因为 Date 类曾经蕴含了残缺的日期,只须要将此日期进行格式化操作即可。
public abstract class DateFormat
此类是一个抽象类,须要子类进行实例化,然而该类自身提供了实例化操作。
public class DateDemo2 {public static void main(String[] args) {
DateFormat df1 = null;
DateFormat df2 = null;
df1 = DateFormat.getDateInstance();
df2 = DateFormat.getDateTimeInstance();
System.out.println("DATE:" + df1.format(new Date()));
System.out.println("DATETIME:" + df2.format(new Date()));
}
}
运行后果:
DATE:2020-11-23
DATETIME:2020-11-23 15:12:17
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)。
范例:将日期变为字符串,格式化显示
package cn.mldn.demo;
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);
}
}
范例:
将字符串格式化为日期
package cn.mldn.demo;
import java.text.SimpleDateFormat;
import java.util.Date;
public class TestDemo {public static void main(String[] args) throws Exception {
String str = "2020-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)也能够向字符串进行转换。