calendar java 线程安全_Java8 新特性LocalDate 线程安全的时间处理类

本文介绍了Java8的新特性LocalDate,它在日期处理上提供了便利,并且是线程安全的,解决了传统Date和Calendar在并发时的问题。文章通过示例展示了如何使用LocalDate、LocalTime和LocalDateTime进行日期和时间操作,包括获取当前时间、昨天、上周、上月、去年等日期,以及计算日期间隔和获取日期范围的方法。
摘要由CSDN通过智能技术生成

Java8 新特性中推出了日期处理类LocalDate,实在是太方便了,主要用到是下面的3个类。

java.time.LocalDate ->只对年月日做出处理

java.time.LocalTime ->只对时分秒纳秒做出处理

java.time.LocalDateTime ->同时可以处理年月日和时分秒

优点:

除了使用起来更加简单和灵活,主要是传统的时期处理类Date、Calendar不是多线程安全的,而LocalDate 线程安全的,所以不用担心并发问题。下面是我的实战代码:

import java.time.LocalDate;

import java.time.LocalDateTime;

import java.time.LocalTime;

import java.time.ZoneId;

import java.time.format.DateTimeFormatter;

import java.time.temporal.ChronoUnit;

import java.util.List;

import java.util.stream.Collectors;

import java.util.stream.Stream;

import com.google.common.collect.Lists;

/**

*

*

* Java 8 的时间工具类

*/

public class DateUtils {

/**

* 默认使用系统当前时区

*/

private static final ZoneId ZONE = ZoneId.systemDefault();

private static final String DATE_FORMAT = "yyyy-MM-dd";

private static final String DATE_FORMAT_DS = "yyyyMMdd";

private static final String DATE_FORMAT_DEFAULT = "yyyy-MM-dd HH:mm:ss";

private static final String TIME_FORMAT = "yyyyMMddHHmmss";

private static final String REGEX = "\\:|\\-|\\s";

public static final DateTimeFormatter FORMATTER =

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值