JDK1.8新特性之格式化日期类+时间戳类+世界时区类+Duration和Period类+时间校正器

一.新增时间日期API

1.概述

A:
		Date
        SimpleDateFormat
        Calendar
        线程不安全,jdk1.8新增了一套时间日期API
B: 
		LocalDate获取年月日
        LocalTime获取时分秒
        LocalDateTime获取年月日时分秒
C:	获取对象的方法:
		方式1通过静态方法  now();
			例如:LocalDateTime ldt = LocalDateTime.now();
	
		方式2通过静态方法of()方法参数可以设置年月日时分秒
			例如:LocalDateTime of = LocalDateTime.of(2018, 12, 30, 20, 20, 20);
package org.westos.demo;

import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.util.Calendar;
import java.util.Date;

public class MyTest {
   
    public static void main(String[] args) {
   
       /* Date
        SimpleDateFormat
        Calendar
        线程不安全,jdk1.8新增了一套时间日期API
        */

        /*
        LocalDate获取年月日
        LocalTime获取时分秒
        LocalDateTime获取年月日时分秒

        获取的方法
        1.静态now()方法,返回一个对象
        设置的方法:
        1.静态of()方法,返回一个对象
           */
        //获取当前日期
        LocalDate now = LocalDate.now();
        System.out.println(now);//2020-06-17
        System.out.println("==================");
        //获取当前时分秒
        LocalTime now1 = LocalTime.now();
        System.out.println(now1);//17:18:21.378
        System.out.println("=========");
        //获取当前年月日时分秒
        LocalDateTime now2 = LocalDateTime.now();
        System.out.println(now2);//2020-06-19T17:19:30.634 注意中间是以T间隔

        System.out.println("=========");
        //设置当前日期,通过静态of()方法设置
        LocalDate of = LocalDate.of(1000, 10, 10);
        System.out.println(of);//1000-10-10
        System.out.println("============");
        //设置当前时分秒
        LocalTime of1 = LocalTime.of(1, 1, 1, 1);
        System.out.println(of1);//01:01:01.000000001
        //设置当前年月日时分秒
        LocalDateTime of2 = LocalDateTime.of(2000, 2, 2, 2, 2, 2);
        System.out.println(of2);//2000-02-02T02:02:02

    }
}

2.获取的方法

与获取相关的方法:get系类的方法
			ldt.getYear();获取年
			ldt.getMinute();获取分钟
			ldt.getHour();获取小时
			getDayOfMonth 获得月份天数(1-31)
			getDayOfYear 获得年份天数(1-366)
			getDayOfWeek 获得星期几(返回一个 DayOfWeek枚举值)
			getMonth 获得月份, 返回一个 Month 枚举值
			getMonthValue 获得月份(1-12)
			getYear 获得年份
package org.westos.demo;

import java.time.DayOfWeek;
import java.time.LocalDateTime;
import java.time.Month;

public class MyTest2 {
   
    public static void main(String[] args) {
   
        //获取对象
        LocalDateTime now = LocalDateTime.now();
        System.out.println(now);//2020-06-19T17:35:39.957
        //获取单独的年份
        int year = now.getYear();
        System.out.println(year);//2020
        System.out.println("================");
        //获取单独的月
        //Month是枚举类型enum,从一月到十二月
        Month month = now.getMonth();
        //输出枚举类的实例,默认打印实例的名称
        System.out.println(month);//JUNE
        System.out.println("=================");
        //获取月份 6 ISO-8601日历系统 从1数月份
        int monthValue = now.getMonthValue();
        System.out.println(monthValue);//6
        System.out.println("=================");
        //获取now对象表示的这个月的第多少天
        int dayOfMonth = now.getDayOfMonth();
        System.out.println(dayOfMonth);//19
        System.out.println("=================");

        //DayOfWeek是枚举类型enum,从星期一到星期日
        DayOfWeek dayOfWeek = now.getDayOfWeek();
        System.out.println(dayOfWeek);//FRIDAY
        System.out.println("=================");
        int dayOfYear = now.getDayOfYear();
        int hour = now.getHour();
        int minute = now.getMinute();
        int second = now.getSecond();
        System.out.println(dayOfYear);//171
        System.out.println(hour);//17
        System.out.println(minute);//50
        System.out.println(second);//19
    }
}

3.格式化日期:DateTimeFormatter类

package org.westos.demo;

import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.format.DateTimeFormatter;

public class MyTest3 {
   
    public static void main(String[] args) {
   
        LocalDateTime now = LocalDateTime.now();
        System.out.println(now);//2020-06-19T18:17:14.250

        //格式化日期
        //JDK1.8提供了格式化日期的类DateTimeFormatter
        DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
        //format()格式化日期的方法,需要你传入格式化对象
        String str = dateTimeFormatter.format(now);
        System.out.println
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值