文章目录
-
-
- 一 、Date 类:获取系统当前日期
- 二 、Calendar类:按需获取日期格式
- 三 、DateFormat类
-
-
-
- 1 、默认显示格式
- 2 、指定显示类型
-
-
- 四 、SimpleDateFormat 类:自定义日期格式
- 五 、Java中获取时间戳的三种方式
-
一 、Date 类:获取系统当前日期
import java.util.Date;public class DateDemo01 {
public static void main(String[] args) {
Date date = new Date();System.out.println(date);}
}
程序运行结果:
要想获得按照所需要的日期格式显示,可以使用Calendar类完成
二 、Calendar类:按需获取日期格式
import java.util.Calendar;
import java.util.GregorianCalendar;public class DateDemo02 {
public static void main(String[] args) {
Calendar calendar = new GregorianCalendar(); // 实例化Calendar类对象System.out.println("YEAR: " + calendar.get(Calendar.YEAR)); //年System.out.println("MONTH: " + (calendar.get(Calendar.MONTH) + 1)); //月System.out.println("DAY_OF_MONTH: " + calendar.get(Calendar.DAY_OF_MONTH)); //日System.out.println("HOUR_OF_DAY: " + calendar.get(Calendar.HOUR_OF_DAY)); //时System.out.println("MINUTE: " + calendar.get(Calendar.MINUTE)); //分System.out.println("SECOND: " + calendar.get(Calendar.SECOND)); //秒System.out.println("MILLISECOND: " + calendar.get(Calendar.MILLISECOND)); //毫秒}
}
程序运行结果:
以上程序虽然取得了时间,但代码比较复杂,Java中提供了其它日期的类
三 、DateFormat类
1 、默认显示格式
import java.text.DateFormat;
import java.util.Date;public class DateDemo03 {
public static void main(String args[]){
DateFormat df1 = null ; // 声明一个DateFormatDateFormat df2 = null ; // 声明一个DateFormatdf1 = DateFormat.getDateInstance() ; // 得到日期的DateFormat对象df2 = DateFormat.getDateTimeInstance() ; // 得到日期时间的DateFormat对象System.out.println("DATE:" + df1.format(new Date())) ; // 按照日期格式化System.out.println("DATETIME:" + df2.format(new Date())) ; // 按照日期时间格式化}
}
程序运行结果:
2 、指定显示类型
import java.text.DateFormat;
import java.util.Date;
import java.util.Locale;public class DateDemo04 {
public static void main(String args[]){
DateFormat df1 = null ; // 声明一个DateFormatDateFormat df2 = null ; // 声明一个DateFormatdf1 = DateFormat.getDateInstance(DateFormat.YEAR_FIELD,new Locale("zh","CN")) ; // 得到日期的DateFormat对象df2 = DateFormat.getDateTimeInstance(DateFormat.YEAR_FIELD,DateFormat.ERA_FIELD,new Locale("zh","CN")) ; // 得到日期时间的DateFormat对象System.out.println("DATE:" + df1.format(new Date())) ; // 按照日期格式化System.out.println("DATETIME:" + df2.format(new Date())) ; // 按照日期时间格式化}
}
程序运行结果:
如果需要自定义格式,则可以通过 DateFormat 类的子类 SimpleDateFormat 类实现
四 、SimpleDateFormat 类:自定义日期格式
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;public class DateDemo05 {
public static void main(String[] args) {
String template = "yyyy-MM-dd HH:mm:ss";String strTemplate = "yyyy年MM月dd日HH时mm分ss秒";SimpleDateFormat sdf1 = new SimpleDateFormat(template); //实例化模板对象SimpleDateFormat sdf2 = new SimpleDateFormat(strTemplate); //实例化模板对象String strDate = DateFormat.getDateTimeInstance().format(new Date()); //获取当前时间,格式例如:2019-01-01 10:20:30Date date = null;try {
date = sdf1.parse(strDate);} catch (ParseException e) {
e.printStackTrace();}System.out.println(sdf2.format(date));}
}
程序运行结果:
五 、Java中获取时间戳的三种方式
import java.util.Calendar;
import java.util.Date;public class DateDemo06 {
public static void main(String[] args) {
System.out.println(System.currentTimeMillis());System.out.println(new Date().getTime());System.out.println(Calendar.getInstance().getTimeInMillis());}
}
程序运行结果: