当前位置: 代码迷 >> 综合 >> 日期操作类(Date 、Calendar 、DateFormat 、SimpleDateFormat)
  详细解决方案

日期操作类(Date 、Calendar 、DateFormat 、SimpleDateFormat)

热度:36   发布时间:2023-12-06 12:33:30.0

文章目录

      • 一 、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());}
}

程序运行结果:
在这里插入图片描述

  相关解决方案