日期相关的类/Date/Calendar/TimeZone

package com.uncle.myutil;

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.TimeZone;

/**
 * 日期相关
 * 	Date类
 * 	1.通常使用的是java.util包
 * 	2.导包 拿来使用  构建对象
 * 	3.通常使用无参数的构造方法  或者带long构造方法
 * 	4.Date类中常用的方法
 * 		before();  after();
 * 		setTime()  getTime();----->long
 * 		compareTo();   -1  1  0
 * 	5.可以处理一个Date日期的格式
 *
 * 	DateFormat类
 * 	1.包java.text 需要导包使用
 * 	2.此类是一个抽象类  不能创建对象   子类来使用
 * 	3.SimpleDateFormat类   是DateFormat的子类
 * 	4.调用带String参数的构造方法创建format对象
 * 		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
 *         		String v = sdf.format(date1);//通过sdf对象将date1格式化成你描述的样子
 *
 * 	Calendar类   1.1版本
 * 	1.所属的包java.util  需要导包
 * 	2.有构造方法  用protected修饰的  通常访问不到   通常会调用默认的getInstance();
 * 	3.常用方法
 * 		after()  before()
 * 		setTime()  getTime()---->Date
 * 		getTimeInMillis()----time
 * 		getTimeZone()---TimeZone
 * 		Calendar里面包含一个date属性  可以操作date的某一个局部信息
 * 		set   get
 * 		calendar.set(Calendar.YEAR,2015);
 *         		int year = calendar.get(Calendar.YEAR);
 *
 * 	TimeZone
 * 	1.java.util包
 * 	2.可以通过calendar对象.getTimeZone()获取  或   TimeZone.getDefault();
 * 	3.常用方法
 * 		tz.getID()	   ---->    Asia/Shanghai
 *         		tz.getDisplayName()   中国标准时间
 */
public class TestDate {
    
    

    public static void main(String[] args){
    
    
        //返回当前系统时间与计算机元年之间的毫秒差
        //1970-1-1  00:80:00
        long time = System.currentTimeMillis();
        System.out.println(time);
        //1545364985172
        //1545365000042
        //1545365012877
        Date date1 = new Date(1545364985172L);//15分钟之前的时间
        Date date2 = new Date();//默认就是用当前的系统时间构建的date对象
        System.out.println(date2);//重写了toString  格林威治格式Fri Dec 21 12:12:12 CST 2018

        boolean x = date1.before(date2);//date1是否在date2之前
        boolean y = date1.after(date2);//date1是否在date2之后

        //date对象中应该有一个long的属性 time
        date1.setTime(1545365012877L);//设置date1的时间 毫秒值
        long reTime= date1.getTime();//获取date1的时间 毫秒值
        System.out.println(x+"--"+y);
        System.out.println(date2.compareTo(date1));//按照顺序比较  -1调用在前参数在后  1刚好相反

        //2018-12-21 12:19:16
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String v = sdf.format(date1);//通过sdf对象将date1格式化成你描述的样子
        System.out.println(v);

        Calendar calendar = Calendar.getInstance();//系统当前时间的calendar对象
        //java.util.GregorianCalendar[name=value,name=value]
        System.out.println(calendar);
        calendar.set(Calendar.YEAR,2015);
        int year = calendar.get(Calendar.YEAR);
        int month = calendar.get(Calendar.MONTH);//从0开始数
        int day = calendar.get(Calendar.DAY_OF_MONTH);
        System.out.println(year+"--"+month+"--"+day);

        TimeZone tz = calendar.getTimeZone();
        //TimeZone tz = TimeZone.getDefault();
        System.out.println(tz);
        System.out.println(tz.getID());
        System.out.println(tz.getDisplayName());

    }

}

猜你喜欢

转载自blog.csdn.net/m0_51945027/article/details/112828682