美文网首页
J2SE I:Java日期操作类有哪些

J2SE I:Java日期操作类有哪些

作者: Help_II | 来源:发表于2020-11-23 15:13 被阅读0次

    一.日期操作类

    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)也可以向字符串进行转换。

    相关文章

      网友评论

          本文标题:J2SE I:Java日期操作类有哪些

          本文链接:https://www.haomeiwen.com/subject/tjimiktx.html