localDateTime,localDate,localTime的使用

localDateTime,localDate,localTime的使用

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

/**
 * localDateTime的使用
 */
public class LocalDateTimeTest {

    public static void main(String[] args) {
        // 1.字符串转时间(年月日 + 时分秒)
        getFormatting();

        // 2.时间转字符串(年月日 + 时分秒)
        getStr();

        // 3.localDate时间与字符串转换
        getLocalDate();

        // 4.localTime时间与字符串转换
        getLocalTime();
    }

    /**
     * @localTime时间与字符串转换
     */
    private static void getLocalTime() {
        //=======================时间转字符串===============================
        // 1.定义时间转字符串的格式
        DateTimeFormatter pattern = DateTimeFormatter.ofPattern("HH:mm:ss");
        // 2.获取当前的时间
        LocalTime localTime = LocalTime.now();
        // 3.转换
        String time = localTime.format(pattern);
        // 4.输出
        System.out.println(time);// 18:04:47
        //=======================字符串转时间===============================
        String str = "12:45:56";

        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("HH:mm:ss");

        LocalTime localTime1 = LocalTime.parse(str, pattern);

        System.out.println(localTime1);// 12:45:56

    }

    /**
     * @localDate时间与字符串转换
     */
    private static void getLocalDate() {
        //=======================时间转字符串===============================
        // 1.定义时间转字符串的格式
        DateTimeFormatter pattern = DateTimeFormatter.ofPattern("yyyy-MM-dd");
        // 2.获取当前的时间
        LocalDate date = LocalDate.now();
        // 3.转换
        String localDate = date.format(pattern);
        // 4.输出
        System.out.println(localDate);// 2019-12-26

        //=======================字符串转时间===============================
        // 1.假设这是接收的一个字符串的时间变量
        String time = "2019-12-26";
        // 2.定义要转换的时间格式
        DateTimeFormatter DatePattern = DateTimeFormatter.ofPattern("yyyy-MM-dd");
        // 3.解析
        LocalDate dateTime = LocalDate.parse(time, DatePattern);
        // 4.输出
        System.out.println(dateTime);// 2019-12-26
    }

    /**
     * @时间转字符串(年月日 + 时分秒)
     */
    private static void getStr() {
        // 1.定义转换的格式
        DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
        // 2.获取当前时间
        LocalDateTime dateTime = LocalDateTime.now();
        // 3.当前系统时间转换定义好的字符串时间格式
        String strTime = dateTime.format(dateTimeFormatter);
        // 4.输出
        System.out.println(strTime);// 2019-12-26T12:15:56
    }

    /**
     * @字符串转时间(年月日 + 时分秒)
     */
    private static void getFormatting() {
        // 1.假设这是接收的一个字符串的时间变量
        String time = "2019-12-26 12:15:56";
        // 2.定义要转换的时间格式
        DateTimeFormatter pattern = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
        // 3.解析
        LocalDateTime dateTime = LocalDateTime.parse(time, pattern);
        // 4.输出
        System.out.println(dateTime);// 2019-12-26 17:22:45
    }
}

示例

1.获取最近一年的月份

         // 获取最近一年的月份
        LocalDate today = LocalDate.now();
        DateTimeFormatter form = DateTimeFormatter.ofPattern("yyyy-MM");
        String[] date = {
        form.format(today.minusMonths(11)), 
        form.format(today.minusMonths(10)), 
        form.format(today.minusMonths(9)),
        form.format(today.minusMonths(8)),
        form.format(today.minusMonths(7)),
        form.format(today.minusMonths(6)),
        form.format(today.minusMonths(5)), 
        form.format(today.minusMonths(4)), 
        form.format(today.minusMonths(3)),
        form.format(today.minusMonths(2)), 
        form.format(today.minusMonths(1)), 
        form.format(today)};

		System.out.println(Arrays.asList(date));
		// 输出: [2020-01, 2020-02, 2020-03, 2020-04, 2020-05, 2020-06, 
		// 2020-07, 2020-08, 2020-09, 2020-10, 2020-11, 2020-12]

2.获取3天前的时间

		// import java.time.LocalDateTime;
		// import java.time.format.DateTimeFormatter;

        // 获取当前时间
        LocalDateTime now = LocalDateTime.now();

        // 获取3天前的时间
        LocalDateTime threeDaysAgo = now.minusDays(3);

        // 设置时间格式
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");

        // 格式化时间
        String formattedTime = threeDaysAgo.format(formatter);

        // 输出结果
        System.out.println("Three days ago was: " + formattedTime);
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值