常用类之时间日期类


获得现在的时刻数值:
     long now = System.currentTimeMillis();

常用类之时间日期类_第1张图片

 

 

    Date d = new Date (2000);
    System.out.println(d.getTime());
    输出:毫秒数为2000时刻的日期(考虑时区)

比较两个时刻先后:
    date1.after(date2);
    date1.before(date2);
    返回值为Boolean类型

遇到日期处理,使用calendar类

DateFormat(抽象类)和SimpleDateFormat(抽象类的子实现类)

常用类之时间日期类_第2张图片

 

 

 

时间对象按照“字符串指定格式”转换成相应的字符串:

 

    DateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");

    String str = df.format(1000000000);

    System.out.println(str);

    输出为:1970-01-12 09:46:40

    注意:表示月份的M需要大写,中间连接符可以任意,yyyy年MM月dd日 等

    输出类型为string类

把字符串按照“字符串指定格式”转换成相应的时间对象
    Date date = df.parse("2019-9-18 14:49:59");
    System.out.println(date);
    输出为:Wed Sep 18 14:49:59 CST 2019
    注意:格式标准要严格一致,输出类型为date类
    需要throw异常

随意新建另一个“指定格式”
    DateFormat df2 = new SimpleDateFormat("yyyy年MM月dd日 hh:mm:ss");

其他的格式字符:如利用D,获得本时间对象是所处年份的第几天,利用M……
    DateFormat df3 = new SimpleDateFormat("D");
    String str3 = df3.format(new Date());
    System.out.println(str3);



日期(calendar)类
    int year = c1.get(Calendar.YEAR);//获得日期中的基本数据
    int month = c1.get(Calendar.MONTH);//0表示一月……11表示12月
    int day = c1.get(Calendar.DAY_OF_MONTH);

//设置日期相关元素
    Calendar c2 = new GregorianCalendar();
    c2.set(Calendar.YEAR, 1931);
    printCalendar(c2);

//时间的相加
    c2.add(Calendar.YEAR, -91);
    printCalendar(c2);

//日期对象和时间对象的互相转化
    Date d4 = c2.getTime();//日期对象转化为时间对象
    Calendar c3 = new GregorianCalendar();
    c3.setTime(new Date());//把当前时间对象转化为日期对象

附:输出指定格式日期方法
public static void printCalendar(Calendar a) {
int year = a.get(Calendar.YEAR);
int month = a.get(Calendar.MONTH);
int day = a.get(Calendar.DAY_OF_MONTH);
int hour = a.get(Calendar.HOUR);
int minute = a.get(Calendar.MINUTE);
int second = a.get(Calendar.SECOND);
System.out.printf("%d年%d月%d日   %d:%d:%d",year,month,day,hour,minute,second);
}

 

 

你可能感兴趣的:(常用类之时间日期类)