@Component
public class DateUtil { public final static String EMPTY_SRING = "";
public final static String DEFAULT_PATTERN = "yyyy-MM-dd HH:mm:ss";
public final static long DATE_TIME = * * * ;
public final static long HOUR_TIME = * * ;
public final static long MINUTE_TIME = * ;
public LocalDateTime parseDate(String timeStr) {
// return new LocalDateTimeStringConverter().fromString(timeStr);
DateTimeFormatter pattern =
DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); //严格按照ISO yyyy-MM-dd验证,03写成3都不行
return LocalDateTime.parse(timeStr, pattern);
} public String currentDateDay() {
LocalDate ldt = LocalDate.now();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
return ldt.format(formatter);
} public String currentDateTime() {
LocalDateTime ldt = LocalDateTime.now();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
return ldt.format(formatter);
} public String afterCurrentDate(LocalDateTime dt, int mount, int unit) {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
LocalDateTime ldt = LocalDateTime.now();
if (dt != null) {
ldt = dt;
}
if (unit == ConstUtil.UNIT_SECOND) {
return ldt.plusSeconds(mount).format(formatter);
} else if (unit == ConstUtil.UNIT_MINUTE) {
return ldt.plusMinutes(mount).format(formatter);
} else if (unit == ConstUtil.UNIT_HOUR) {
return ldt.plusHours(mount).format(formatter);
} else if (unit == ConstUtil.UNIT_DAY) {
return ldt.plusDays(mount).format(formatter);
} else if (unit == ConstUtil.UNIT_WEEK) {
return ldt.plusWeeks(mount).format(formatter);
} else if (unit == ConstUtil.UNIT_MONTH) {
return ldt.plusMonths(mount).format(formatter);
} else if (unit == ConstUtil.UNIT_YEAR) {
return ldt.plusYears(mount).format(formatter);
}
return ldt.format(formatter);
} public String beforeCurrentDate(LocalDateTime dt, int mount, int unit) {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
LocalDateTime ldt = LocalDateTime.now();
if (dt != null) {
ldt = dt;
}
if (unit == ConstUtil.UNIT_SECOND) {
return ldt.minusSeconds(mount).format(formatter);
} else if (unit == ConstUtil.UNIT_MINUTE) {
return ldt.minusMinutes(mount).format(formatter);
} else if (unit == ConstUtil.UNIT_HOUR) {
return ldt.minusHours(mount).format(formatter);
} else if (unit == ConstUtil.UNIT_DAY) {
return ldt.minusDays(mount).format(formatter);
} else if (unit == ConstUtil.UNIT_WEEK) {
return ldt.minusWeeks(mount).format(formatter);
} else if (unit == ConstUtil.UNIT_MONTH) {
return ldt.minusMonths(mount).format(formatter);
} else if (unit == ConstUtil.UNIT_YEAR) {
return ldt.minusYears(mount).format(formatter);
}
return ldt.format(formatter);
} /**
* @param date
* @return Date
*/
public static Date convertStringToDate(String date) {
try {
return new SimpleDateFormat(DEFAULT_PATTERN).parse(date);
} catch (ParseException e) {
return null;
}
} /**
* 把日期转换成yyyy-MM-dd HH:mm:ss格式
*
* @param date
* @return String
*/
public static String convertDate(Date date) {
if (date == null) {
return EMPTY_SRING;
}
return new SimpleDateFormat(DEFAULT_PATTERN).format(date);
}
/**
* 把时间加上day天后返回,如果传负数代表减day天
*
* @param date
* @param day
* @return Date
*/
public static Date dateAdd(Date date, int day) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.set(Calendar.DATE, calendar.get(Calendar.DATE) + day);
return calendar.getTime();
}
}

LocalDateTime的更多相关文章

  1. Convert Date between LocalDateTime

    http://blog.progs.be/542/date-to-java-time Java8 has new date and time classes to “replace” the old ...

  2. Java 8 Date Time API Example Tutorial – LocalDate, Instant, LocalDateTime, Parse and Format

    参考 Java 8 Date and Time API is one of the most sought after change for developers. Java has been mis ...

  3. LocalDateTime返回的是Local时间

    LocalDateTime返回的是本地时间,比如 LocalDateTime startDateTime = LocalDateTime.of(2016, 9, 18,00, 00); 返回的时间格式 ...

  4. BeanInstantiationException: Failed to instantiate [java.time.LocalDateTime]

    错误提示: Request processing failed; nested exception is org.springframework.beans.BeanInstantiationExce ...

  5. SpringMvc Json LocalDateTime 互转,form urlencoded @ModelAttribute 转换

    JDK8 的LocalDate 系列日期API ,比Date 或者 Calendar 都好用很多,但是在SpringMvc 自动装配会有点小问题 会导致抛出类似异常 default message [ ...

  6. 在JDBC中使用Java8的日期LocalDate、LocalDateTime

    在实体Entity里面,可以使用java.sql.Date.java.sql.Timestamp.java.util.Date来映射到数据库的date.timestamp.datetime等字段 但是 ...

  7. spring boot添加 LocalDateTime 等 java8 时间类序列化和反序列化的支持

    由于项目将原有的  Date类型的字段改造为 LocalDate,LocalDateTime,LocalTime 类型, 发现  spring  对项目的时间格式无法自动转换,故需手动配置下. 在sp ...

  8. springboot~mybatis里localdatetime序列化问题

    问题起因 主要是使用mybatis作为ORM之后,返回的对象为Map,然后对于数据库的datetime,datestamp类型返回为时间戳而不是标准的时间,这个问题解决方案有两种,大叔分析一下: 在m ...

  9. LocalDate、LocalDateTime、LocalTime开发小结

    在我之前的文章<[整理]Java 8新特性总结 >中有提到Date/Time API (JSR 310)对日期与时间的处理.它将服务端对时间的处理进行了统一,使得对时间的处理更加规范和统一 ...

  10. Java8 LocalDateTime获取时间戳(毫秒/秒)、LocalDateTime与String互转、Date与LocalDateTime互转

    本文目前提供:LocalDateTime获取时间戳(毫秒/秒).LocalDateTime与String互转.Date与LocalDateTime互转 文中都使用的时区都是东8区,也就是北京时间.这是 ...

随机推荐

  1. 【转载】【凯子哥带你学Framework】Activity启动过程全解析

    It's right time to learn Android's Framework ! 前言 一个App是怎么启动起来的? App的程序入口到底是哪里? Launcher到底是什么神奇的东西? ...

  2. Scrapy爬虫提高效率

    如何提高scrapy的爬取效率 增加并发: 默认scrapy开启的并发线程为32个,可以适当进行增加.在settings配置文件中修改CONCURRENT_REQUESTS = 100值为100,并发 ...

  3. 环境搭建:添加 xgboost 到 Anaconda

    原文参考:https://blog.csdn.net/lvsehaiyang1993/article/details/80619495 原文博主:Big_quant

  4. Httpd服务进阶知识-基于Apache Modele的LAMP架构之Discuz!案例

    Httpd服务进阶知识-基于Apache Modele的LAMP架构之Discuz!论坛案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.安装依赖包及数据库  博主推荐阅读: ...

  5. Httpd服务进阶知识-调用操作系统的Sendfile机制

    Httpd服务进阶知识-调用操作系统的Sendfile机制 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.不用 sendfile 的传统网络传输过程 read(file, tm ...

  6. @NotBlank注解地正确使用

    @NotNull:不能为null,但可以为empty @NotEmpty:不能为null,而且长度必须大于0@NotBlank:只能作用在String上,不能为null,而且调用trim()后,长度必 ...

  7. hashCode、HashMap 的原理

    hashCode 的契约是:如果两个对象相等,那么调用两个对象的 hashCode() 方法一定会返回相同的 hash 值. HashMap 中 存储桶 的原理: 当你在 hashMap 中存储值的时 ...

  8. 20180418模拟赛T2——Gym

    Gym (Gym.cpp/c/pas) 题目描述 Description 木吉终于到达了 VAN 様的老巢 gym,然而他已经是孤身一人.他决定和 VAN 様来一场对决.他决定和 VAN 様玩♂跑♂步 ...

  9. 推荐系统(recommender systems):均值归一化(mean normalization)

    均值归一化可以让算法运行得更好. 现在考虑这样一个情况:一个用户对所有的电影都没有评分,即上图所示 的Eve用户.现在我们要学习特征向量(假设n=2) 以及用户5的向量θ(5),因为用户Eve没有对任 ...

  10. docker, docker-compose安装和使用

    官方文档: 安装docker: https://docs.docker.com/install/linux/docker-ce/centos/ 安装docker-compose: https://do ...