Java中Date和Calendar类的简介及用法

一、Date及常用的API

        1、Java中的时间:

                    Java中也设计了时间类来显示时间和日期等信息,用的时UTC时间标准(GMT【格林威治标准时间】也是一个时间标准)

        2、Date类型简介:

                    a、java.util.Date中封装了时间信息

                    b、Date类型获取的时间时距离某一时间点(纪元1970-01-01 00:00:00)的毫秒数,来表示另一个时间点

        3、常用API

                    构造器:

                    Date() :获取当前时间点

                    Date(long time)   :time毫秒数,是一个指定的日期,距离纪元时间多少毫秒之后的日期

                    代码:

扫描二维码关注公众号,回复: 2237368 查看本文章
public static void main(String[] args) {
		Date now = new Date();//无参构造器,显示当前时间日期
		System.out.println("当前日期:"+now);
		System.out.println("毫秒数:"+now.getTime());//纪元时间距离现在的毫秒数
		Date date = new Date(100000000000l);//有参构造器,距离纪元时间1000亿毫秒之后的日期
		System.out.println("date:"+date);
	}

                方法:

                    long getTime()

                    作用:获取距离纪元的毫米毫秒数

二、SimpleDateFormat【日期格式】

    1、在java.text.SimpleDateFormat 包下,用来格式化时间的,可以将时间格式化成字符串,也可将字符串解析成时间

    2、日期模式匹配字符

        y:年(有几个y表示几位数的年)

        M:月(MM--06)

        d:日(dd--06)

        E:星期

        a:上下午

        H:24小时制

        h:12小时制

        m:分钟

        s:秒

    3、SimpleDateFormat()方法

            SimpleDateFormat()无参构造器,使用的时系统默认的时间日期格式。

            SimpleDateFormat(String str)有参构造器,可以根据需要自定义时间日期格式。

            代码:

public static void main(String[] args) {
		Date date = new Date();
		SimpleDateFormat sdf1 = new SimpleDateFormat();//无参构造器,显示系统默认时间日期格式
		SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd E ahh:mm:ss");//有参构造器,自定义时间日期格式
		
		System.out.println(sdf1.format(date));
		System.out.println(sdf2.format(date));
	}

三、Calender(日历抽象类)

        抽象类,(常用的子类是阳历,即GregorianCalendar

        常用方法:

        Calendar  getInstance()  由于Calendar是抽象方法,只能通过向上转型的方法来实例化

        void set(int field,int value)   //field时间分量,value设置分量初始值(月份从0开始)

        void add(int field,int value)  //field时间分量,value设置分量的增加值(在当前时间日期基础上进行增加)

        Date getTime()    //输出时间日期

        void setTime(Date date) //将日期类型设置成日历类型

        getActualMaximum(int field)   //获取分量中的最大/小值

        时间分量

        YEAR,MONTH,DATE,HOUR,MINUTE,SECOND

        DAY_OF_WEEK,DAY_OF_MONTH 。。。。

        代码:

public static void main(String[] args) {
		Date date = new Date();
		Calendar set = Calendar.getInstance();
		Calendar add = Calendar.getInstance();
		Calendar calendar = Calendar.getInstance();
		set.set(Calendar.MONTH, 0);//初始月份为1月
		add.add(Calendar.YEAR, 1);//第二个参数是距离现在的日期是多少天/月/年,向后加了1年
		calendar.setTime(date);//date日期类型转换为Calendar类型
		
		System.out.println("set:"+set.getTime());//输出时间
		System.out.println("add:"+add.getTime());//输出时间
		System.out.println("date:"+date);
		
	}

        

                    

猜你喜欢

转载自blog.csdn.net/woainiqazwsx123/article/details/80589449