java8 时间加一秒_Java8中对时间的处理

Java8中对时间的处理主要是LocalDate、LocalTime、LocalDateTime这几个类实现,直接看下面的测试代码,注释很详细。

@

java8时间处理测试

/**

* java8时间处理测试

* LocalDate、LocalTime、LocalDateTime

* 说明:

*

* 创建人: LGQ

* 创建时间: 2018年8月21日 下午1:52:28

*

* 修改人:

* 修改时间:

* 修改备注:

*

*/

public static void java8DateTest() {

/**

* LocalDate

*/

System.out.println(">>>>>>>>>LocalDate<<<<<<<

//获取当前日期,2018-08-21

LocalDate localDate = LocalDate.now();

System.err.println("当前日期>" + localDate);

//获取当前年 2018

System.err.println(localDate + "当前年>" + localDate.getYear());

//获取当前月 8

System.err.println(localDate + "当前月>" + localDate.getMonthValue());

//获取当前年中的日 233

System.err.println(localDate + "当前年中的日>" + localDate.getDayOfYear());

//获取当前月中的日 21

System.err.println(localDate + "当前月中的日>" + localDate.getDayOfMonth());

//获取当前星期中的日 2

System.err.println(localDate + "当前星期中的日>" + localDate.getDayOfWeek().getValue());

//当前日期前一天,2018-08-20 minus:(表示运算)减去

System.err.println(localDate + "前一天>" + localDate.minusDays(1));

//当前日期后一天,2018-08-20 plus:(表示运算)加

System.err.println(localDate + "后一天>" + localDate.plusDays(1));

//当前日期前一月,2018-07-21 minus:(表示运算)减去

System.err.println(localDate + "前一月>" + localDate.minusMonths(1));

//当前日期后一月,2018-09-21 plus:(表示运算)加

System.err.println(localDate + "后一月>" + localDate.plusMonths(1));

//当前日期前一年,2017-08-21 minus:(表示运算)减去

System.err.println(localDate + "前一年>" + localDate.minusYears(1));

//当前日期后一年,2019-08-21 plus:(表示运算)加

System.err.println(localDate + "后一年>" + localDate.plusYears(1));

//当前日期前一周,2018-08-14 minus:(表示运算)减去

System.err.println(localDate + "前一周>" + localDate.minusWeeks(1));

//当前日期后一周,2018-08-28 plus:(表示运算)加

System.err.println(localDate + "后一周>" + localDate.plusWeeks(1));

/**

* LocalTime

*/

System.out.println(">>>>>>>>>LocalTime<<<<<<<

//获取当前时间 11:36:13.693

LocalTime localTime = LocalTime.now();

System.err.println("当前时间>" + localTime);

//获取当前时 11

System.err.println(localTime + "当前时>" + localTime.getHour());

//获取当前分 38

System.err.println(localTime + "当前分>" + localTime.getMinute());

//获取当前秒 26

System.err.println(localTime + "当前秒>" + localTime.getSecond());

//当前时间前一时,11:36:12.693 minus:(表示运算)减去

System.err.println(localTime + "前一时>" + localTime.minusHours(1));

//当前时间后一时,11:36:12.693 minus:(表示运算)减去

System.err.println(localTime + "后一时>" + localTime.plusHours(1));

//当前时间前一分,11:39:05.970 minus:(表示运算)减去

System.err.println(localTime + "前一分>" + localTime.minusMinutes(1));

//当前时间后一分,11:36:12.693 minus:(表示运算)减去

System.err.println(localTime + "后一分>" + localTime.plusMinutes(1));

//当前时间前一秒,11:36:12.693 minus:(表示运算)减去

System.err.println(localTime + "前一秒>" + localTime.minusSeconds(1));

//当前时间后一秒,11:36:12.693 minus:(表示运算)减去

System.err.println(localTime + "后一秒>" + localTime.plusSeconds(1));

/**

* localDateTime

* LocalDateTime类是Java 8中日期时间功能里,用于表示当地的日期与时间的类,它的值是无时区属性的。

* 你可以将其视为Java 8中LocalDate与LocalTime两个类的结合。

* 你可以通过这些方法访问其日期时间

* getYear()

getMonth()

getDayOfMonth()

getDayOfWeek()

getDayOfYear()

getHour()

getMinute()

getSecond()

getNano()

*/

System.out.println(">>>>>>>>>localDateTime<<<<<<<

LocalDateTime localDateTime = LocalDateTime.now();

System.err.println("当前完整日期>" + localDateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));

/**

* 时间格式化

*/

System.out.println(">>>>>>>>>时间格式化<<<<<<<

DateTimeFormatter formatDataTime = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");

DateTimeFormatter formatDate = DateTimeFormatter.ofPattern("yyyy-MM-dd");

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

String formatDataTimeStr = localDateTime.format(formatDataTime);

String formatDateStr = localDateTime.format(formatDate);

String formatTimeStr = localDateTime.format(formatTime);

System.err.println("完整日期格式化之后" + formatDataTimeStr);

System.err.println("日期格式化之后" + formatDateStr);

System.err.println("时间格式化之后" + formatTimeStr);

/**

* 时间比较大小

*/

System.out.println(">>>>>时间比较大小<<<<

LocalDateTime time1 = LocalDateTime.parse("2018-05-12 08:30:30", formatDataTime);

LocalDateTime time2 = LocalDateTime.parse("2018-04-20 16:30:30", formatDataTime);

System.err.println("time1=" + time1);

System.err.println("time2=" + time2);

System.err.println("time1==time2:" + time1.isEqual(time2));

System.err.println("time1>time2:" + time1.isAfter(time2));

System.err.println("time1

}

运行效果如下:

基于java8封装的时间处理工具类

package com.blog.www.util;

import java.time.*;

import java.time.format.DateTimeFormatter;

import java.util.Date;

/**

* 基于java8封装的时间处理工具类

*

* 创建人:leigq

* 创建时间:2018-11-07 09:21

*

* 修改人:

* 修改时间:

* 修改备注:

*

*/

public class DateUtil {

private static final String HYPHEN = "-";

private static final String COLON = ":";

/*↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ 时间格式 DateTimeFormatter (Java8) ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓*/

enum FormatEnum {

/**

* 返回 DateTimeFormatter "yyyy-MM-dd HH:mm:ss" 时间格式

*/

FORMAT_DATA_TIME(DateTimeFormatter.ofPattern(DATE_TIME_FORMAT)),

/**

* 返回 DateTimeFormatter "yyyyMMddHHmmss"的时间格式

*/

FORMAT_DATA_TIME_NO_SYMBOL(DateTimeFormatter.ofPattern(DATETIME_FORMAT)),

/**

* 返回 DateTimeFormatter "yyyy-MM-dd"的时间格式

*/

FORMAT_DATE(DateTimeFormatter.ofPattern(DATE_FORMAT)),

/**

* 返回 DateTimeFormatter "HH:mm:ss"的时间格式

*/

FORMAT_TIME(DateTimeFormatter.ofPattern(TIME_FORMAT));

private DateTimeFormatter value;

FormatEnum(DateTimeFormatter format) {

this.value = format;

}

}

/*↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑ 时间格式 DateTimeFormatter (Java8) ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑*/

/*↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ 时间格式 字符串 ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓*/

/**

* 年的时间格式

*

* 返回 "yyyy" 字符串

*/

public static final String YEAR_FORMAT = "yyyy";

/**

* 月的时间格式

*

* 返回 "MM" 字符串

*/

public static final String MONTH_FORMAT = "MM";

/**

* 日的时间格式

*

* 返回 "dd" 字符串

*/

public static final String DAY_FORMAT = "dd";

/**

* 时的时间格式

*

* 返回 "HH" 字符串

*/

public static final String HOUR_FORMAT = "HH";

/**

* 分的时间格式

*

* 返回 "mm" 字符串

*/

public static final String MINUTE_FORMAT = "mm";

/**

* 秒的时间格式

*

* 返回 "ss" 字符串

*/

public static final String SECOND_FORMAT = "ss";

/**

* 年-月-日的时间格式

*

* 返回 "yyyy-MM-dd" 字符串

*/

public static final String DATE_FORMAT = YEAR_FORMAT + HYPHEN + MONTH_FORMAT + HYPHEN + DAY_FORMAT;

/**

* 时:分:秒的时间格式

*

* 返回 "HH:mm:ss" 字符串

*/

public static final String TIME_FORMAT = HOUR_FORMAT + COLON + MINUTE_FORMAT + COLON + SECOND_FORMAT;

/**

* 年-月-日 时:分:秒的时间格式

*

* 返回 "yyyy-MM-dd HH:mm:ss" 字符串

*/

public static final String DATE_TIME_FORMAT = DATE_FORMAT + " " + TIME_FORMAT;

/**

* 年月日时分秒的时间格式(无符号)

*

* 返回 "yyyyMMddHHmmss" 字符串

*/

public static final String DATETIME_FORMAT = YEAR_FORMAT + MONTH_FORMAT + DAY_FORMAT + HOUR_FORMAT + MINUTE_FORMAT + SECOND_FORMAT;

/*↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑ 时间格式 字符串 ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑*/

/*↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ 时间戳 ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓*/

/**

* 获取秒级时间戳

*/

public static Long epochSecond() {

return localDateTime().toEpochSecond(ZoneOffset.of("+8"));

}

/**

* 获取毫秒级时间戳

*/

public static Long epochMilli() {

return localDateTime().toInstant(ZoneOffset.of("+8")).toEpochMilli();

}

/*↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑ 时间戳 ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑*/

/*↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ 当前时间相关 ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓*/

/**

* 获取当前详细时间,like 2018-08-27 17:20:06

*/

public static String dateTime() {

return localDateTime().format(FormatEnum.FORMAT_DATA_TIME.value);

}

/**

* 获取当前详细时间,like 20180827172006

*/

public static String dateTimeNoSymbol() {

return localDateTime().format(FormatEnum.FORMAT_DATA_TIME_NO_SYMBOL.value);

}

/**

* 获取当前日期,like 2018-08-27

*/

public static String date() {

return localDate() + "";

}

/**

* 获取当前时间,like 17:20:06

*/

public static String time() {

return localTime().format(FormatEnum.FORMAT_TIME.value);

}

/**

* 获取当前年

*/

public static Integer year() {

return localDate().getYear();

}

/**

* 获取当前月

*/

public static int month() {

return localDate().getMonthValue();

}

/**

* 获取当前年中的日

*/

public static Integer dayOfYear() {

return localDate().getDayOfYear();

}

/**

* 获取当前月中的日

*/

public static Integer dayOfMonth() {

return localDate().getDayOfMonth();

}

/**

* 获取当前星期中的日

*/

public static Integer dayOfWeek() {

return localDate().getDayOfWeek().getValue();

}

/**

* 获取当前小时

*/

public static Integer hour() {

return localTime().getHour();

}

/**

* 获取当前分钟

*/

public static Integer minute() {

return localTime().getMinute();

}

/**

* 获取当前秒

*/

public static Integer second() {

return localTime().getSecond();

}

/*↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑ 当前时间相关 ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑*/

/*↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ 未来、历史时间相关 ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓*/

/**

* 获取当前年的 前几年 的日期

*

*

* @param years 前几年 正整数

* @param format 格式

* @return 当前年的 前几年 的 对应 格式 日期

*/

public static String minusYears(Long years, FormatEnum formatEnum) {

return minusOrPlusYears(-years, formatEnum);

}

/**

* 获取当前年的 后几年 的日期

*

*

* @param years 后几年 正整数

* @param format 格式

* @return 当前年的 后几年 的 对应 格式 日期

*/

public static String plusYears(Long years, FormatEnum formatEnum) {

return minusOrPlusYears(years, formatEnum);

}

/**

* 获取当前月的 前几月 日期

*

* @param months 前几月 正整数

* @param formatEnum 格式

* @return 当前月的 前几月 的 对应 格式 日期

*/

public static String minusMonths(Long months, FormatEnum formatEnum) {

return minusOrPlusMonths(-months, formatEnum);

}

/**

* 获取当前月的 后几月 的日期

*

* @param months 后几月 正整数

* @param formatEnum 格式

* @return 当前月的 后几月 的 对应 格式 日期

*/

public static String plusMonths(Long months, FormatEnum formatEnum) {

return minusOrPlusMonths(months, formatEnum);

}

/**

* 获取当前日的 前几日 的日期

*

* @param days 前几日 正整数

* @param formatEnum 格式

* @return 当前日的 前几日 的 对应 格式 日期

*/

public static String minusDays(Long days, FormatEnum formatEnum) {

return minusOrPlusDays(-days, formatEnum);

}

/**

* 获取当前日的 后几日 的日期

*

* @param days 后几日 正整数

* @param formatEnum 格式

* @return 当前日的 后几日 的 对应 格式 日期

*/

public static String plusDays(Long days, FormatEnum formatEnum) {

return minusOrPlusDays(days, formatEnum);

}

/**

* 获取当前星期的 前几星期 的日期

*

* @param weeks 前几星期 正整数

* @param formatEnum 格式

* @return 当前星期的 前几星期 的 对应 格式 日期

*/

public static String minusWeeks(Long weeks, FormatEnum formatEnum) {

return minusOrPlusWeeks(-weeks, formatEnum);

}

/**

* 获取当前星期的 后几星期 的日期

*

* @param weeks 后几星期 正整数

* @param formatEnum 格式

* @return 当前星期的 后几星期 的 对应 格式 日期

*/

public static String plusWeeks(Long weeks, FormatEnum formatEnum) {

return minusOrPlusWeeks(weeks, formatEnum);

}

/**

* 获取当前小时的 前几小时 的日期

*

* @param hours 前几小时 正整数

* @param formatEnum 格式

* @return 当前小时的 前几小时 的 对应 格式 日期

*/

public static String minusHours(Long hours, FormatEnum formatEnum) {

return minusOrPlusHours(-hours, formatEnum);

}

/**

* 获取当前小时的 后几小时 的日期

*

* @param hours 后几小时 正整数

* @param formatEnum 格式

* @return 当前小时的 后几小时 的 对应 格式 日期

*/

public static String plusHours(Long hours, FormatEnum formatEnum) {

return minusOrPlusHours(hours, formatEnum);

}

/**

* 获取当前分钟的 前几分钟 的日期

*

* @param minutes 前几分钟 正整数

* @param formatEnum 格式

* @return 当前分钟的 前几分钟 的 对应 格式 日期

*/

public static String minusMinutes(Long minutes, FormatEnum formatEnum) {

return minusOrPlusMinutes(-minutes, formatEnum);

}

/**

* 获取当前分钟的 后几分钟 的日期

*

* @param minutes 后几分钟 正整数

* @param formatEnum 格式

* @return 当前分钟的 后几分钟 的 对应 格式 日期

*/

public static String plusMinutes(Long minutes, FormatEnum formatEnum) {

return minusOrPlusMinutes(minutes, formatEnum);

}

/**

* 获取当前秒的 前几秒 的日期

*

* @param seconds 前几秒 正整数

* @param formatEnum 格式

* @return 当前秒的 前几秒 的 对应 格式 日期

*/

public static String minusSeconds(Long seconds, FormatEnum formatEnum) {

return minusOrPlusSeconds(-seconds, formatEnum);

}

/**

* 获取当前秒的 前几秒/后几秒 的日期

*

* @param seconds 后几秒 正整数

* @param formatEnum 格式

* @return 当前秒的 后几秒 的 对应 格式 日期

*/

public static String plusSeconds(Long seconds, FormatEnum formatEnum) {

return minusOrPlusSeconds(seconds, formatEnum);

}

/*↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑ 未来、历史时间相关 ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑*/

/*↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ 时间转换相关 ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓*/

/**

* Date类型转LocalDateTime

*

*

* @param date date类型时间

* @return LocalDateTime

*/

public static LocalDateTime toLocalDateTime(Date date) {

return LocalDateTime.ofInstant(date.toInstant(), ZoneId.systemDefault());

}

/**

* Date类型转LocalDate

*

*

* @param date date类型时间

* @return LocalDate

*/

public static LocalDate toLocalDate(Date date) {

return toLocalDateTime(date).toLocalDate();

}

/**

* Date类型转LocalTime

*

*

* @param date date类型时间

* @return LocalTime

*/

public static LocalTime toLocalTime(Date date) {

return toLocalDateTime(date).toLocalTime();

}

/**

* LocalDateTime 类型转 Date

*

* @param localDateTime localDateTime

* @return 转换后的Date类型日期

*/

public static Date toDate(LocalDateTime localDateTime) {

return Date.from(localDateTime.atZone(ZoneId.systemDefault()).toInstant());

}

/**

* LocalDate类型转Date

*

* @param localDate localDate

* @return 转换后的Date类型日期

*/

public static Date toDate(LocalDate localDate) {

return toDate(localDate.atStartOfDay());

}

/**

* LocalTime类型转Date

*

* @param localTime localTime

* @return 转换后的Date类型日期

*/

public static Date toDate(LocalTime localTime) {

return toDate(LocalDateTime.of(localDate(), localTime));

}

/*↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑ 时间转换相关 ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑*/

/*↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ 时间间隔相关 ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓*/

/**

* 获取 endDate-startDate 时间间隔天数

*
创建人: leigq

*
创建时间: 2018-11-07 09:55

*

*

* @param startDate 开始时间

* @param endDate 结束时间

* @return 时间间隔天数

*/

public static Long daysInterval(LocalDate startDate, LocalDate endDate) {

return endDate.toEpochDay() - startDate.toEpochDay();

}

/**

* 获取 endDate-startDate 时间间隔天数

*
创建人: leigq

*
创建时间: 2018-11-07 09:55

*

*

* @param startDate 开始时间

* @param endDate 结束时间

* @return 时间间隔天数

*/

public static Long daysInterval(String startDate, String endDate) {

return daysInterval(LocalDateTime.parse(endDate, FormatEnum.FORMAT_DATA_TIME.value).toLocalDate(),

LocalDateTime.parse(startDate, FormatEnum.FORMAT_DATA_TIME.value).toLocalDate());

}

/**

* 获取 endDate-startDate 时间间隔天数

*
创建人: leigq

*
创建时间: 2018-11-07 09:55

*

*

* @param startDate 开始时间

* @param endDate 结束时间

* @return 时间间隔天数

*/

public static Long daysInterval(LocalDateTime startDate, LocalDateTime endDate) {

return daysInterval(startDate.toLocalDate(), endDate.toLocalDate());

}

/*↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑ 时间间隔相关 ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑*/

/*↓↓↓只允许此类调用↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓*/

/**

* 获取 当前年 的前几年/后几年的日期

*

*

* @param yearsToAddOrSubtract 后几年传正整数,前几年传负数

* @param formatEnum 格式

* @return 当前年的前几年/后几年的对应 格式 日期

*/

private static String minusOrPlusYears(Long yearsToAddOrSubtract, FormatEnum formatEnum) {

return localDateTime().plusYears(yearsToAddOrSubtract).format(formatEnum.value);

}

/**

* 获取 当前月 的前几月/后几月的日期

*

* @param monthsToAddOrSubtract 后几月传正整数,前几月传负数

* @param formatEnum 格式

* @return 当前月的前几月/后几月的对应 格式 日期

*/

private static String minusOrPlusMonths(Long monthsToAddOrSubtract, FormatEnum formatEnum) {

return localDateTime().plusMonths(monthsToAddOrSubtract).format(formatEnum.value);

}

/**

* 获取 当前日 的前几日/后几日的日期

*

* @param daysToAddOrSubtract 后几日传正整数,前几日传负数

* @param formatEnum 格式

* @return 当前日的前几日/后几日的 对应 格式 日期

*/

private static String minusOrPlusDays(Long daysToAddOrSubtract, FormatEnum formatEnum) {

return localDateTime().plusDays(daysToAddOrSubtract).format(formatEnum.value);

}

/**

* 获取当前星期的前几星期/后几星期的日期

*

* @param weeksToAddOrSubtract 后几星期传正整数,前几星期传负数

* @param formatEnum 格式

* @return 当前星期的前几星期/后几星期的 对应 格式 日期

*/

private static String minusOrPlusWeeks(Long weeksToAddOrSubtract, FormatEnum formatEnum) {

return localDateTime().plusWeeks(weeksToAddOrSubtract).format(formatEnum.value);

}

/**

* 获取当前小时的前几小时/后几小时的日期

*

* @param hoursToAddOrSubtract 后几小时传正整数,前几小时传负数

* @param formatEnum 格式

* @return 当前小时的前几小时/后几小时的 对应 格式 日期

*/

private static String minusOrPlusHours(Long hoursToAddOrSubtract, FormatEnum formatEnum) {

return localDateTime().plusHours(hoursToAddOrSubtract).format(formatEnum.value);

}

/**

* 获取当前分钟的前几分钟/后几分钟的日期

*

* @param minutesToAddOrSubtract 后几分钟传正整数,前几分钟传负数

* @param formatEnum 格式

* @return 当前分钟的前几分钟/后几分钟的 对应 格式 日期

*/

private static String minusOrPlusMinutes(Long minutesToAddOrSubtract, FormatEnum formatEnum) {

return localDateTime().plusMinutes(minutesToAddOrSubtract).format(formatEnum.value);

}

/**

* 获取当前秒的前几秒/后几秒的日期

*

* @param secondsToAddOrSubtract 后几秒传正整数,前几秒传负数

* @param formatEnum 格式

* @return 当前秒的前几秒/后几秒的 对应 格式 日期

*/

private static String minusOrPlusSeconds(Long secondsToAddOrSubtract, FormatEnum formatEnum) {

return localDateTime().plusSeconds(secondsToAddOrSubtract).format(formatEnum.value);

}

/**

* 获取 LocalDate

*/

private static LocalDate localDate() {

return localDateTime().toLocalDate();

}

/**

* 获取 LocalTime

*/

private static LocalTime localTime() {

return localDateTime().toLocalTime();

}

/**

* 获取 LocalDateTime

*/

private static LocalDateTime localDateTime() {

return LocalDateTime.now();

}

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/504132.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python创建数据库表_Python 操作数据库(1)SQL基础

一、数据库 关系型数据库 常见的关系型数据库&#xff1a;SQL Server、MySql、MariaDB、SQLite、ORACLE、PostgreSQL等 非关系型数据库 常见的非关系型数据看&#xff1a;MongoDB、HBASE、redis、CouchDB、Neo4j、Cassandra、memcached 非关系型数据库又分为&#xff1a;1. 文档…

C/C++初学者快速提升?

如今&#xff0c;软件开发行业继续向前大步迈进。信息技术越来越吃香&#xff0c;越来越多人学习学习c语言&#xff0c;那么如何系统有效的学习C语言?下面分享给大家的有效学习语言的方法&#xff0c;希望可以帮到你! 一、了解大纲&#xff0c;通览教材 想学好C语言最重要的一…

python以运行效率高著称吗_提升Python程序运行效率的6个方法

Python是一个很酷的语言&#xff0c;因为你可以在很短的时间内利用很少的代码做很多事情。不仅如此&#xff0c;它还能轻松地支持多任务&#xff0c;比如多进程等。Python批评者有时会说Python执行缓慢。本文将尝试介绍6个技巧&#xff0c;可加速你的Python应用程序。 1.让关键…

bytebuf池_图文分析ByteBuf是什么

ByteBuf是什么ByteBuf是Netty中非常重要的一个组件&#xff0c;他就像物流公司的运输工具&#xff1a;卡车&#xff0c;火车&#xff0c;甚至是飞机。而物流公司靠什么盈利&#xff0c;就是靠运输货物&#xff0c;可想而知ByteBuf在Netty中是多么的重要。没有了ByteBuf&#xf…

c语言入门经典18个程序

C语言程序设计 QQ群&#xff1a;731871503 功能介绍 从零开始精通C语言教程用于C语言学习交流&#xff0c;分享C语言相关的技术文章&#xff0c;无论是小白还是大白&#xff0c;在这里我们之讲C语言。 1 、 /* 输出 99 口诀。共 9 行 9 列&#xff0c; i 控制行&#xff0c; j …

pytorch 矩阵相乘_深度学习 — — PyTorch入门(三)

点击关注我哦autograd和动态计算图可以说是pytorch中非常核心的部分&#xff0c;我们在之前的文章中提到&#xff1a;autograd其实就是反向求偏导的过程&#xff0c;而在求偏导的过程中&#xff0c;链式求导法则和雅克比矩阵是其实现的数学基础&#xff1b;Tensor构成的动态计算…

python分配 使最大的最小_python3中的heapq模块使用

###heapq-堆排序算法heapq实现了一个适合与Python的列表一起使用的最小堆排序算法。二叉树树中每个节点至多有两个子节点满二叉树树中除了叶子节点&#xff0c;每个节点都有两个子节点什么是完全二叉树在满足满二叉树的性质后&#xff0c;最后一层的叶子节点均需在最左边什么是…

codeblocks如何让输出结果 空格_简单讲讲如何实现两个正整数相加,然后输出这个结果...

首先吧&#xff0c;两个整数123 456&#xff0c;相加得到579&#xff0c;我们就得输出579&#xff0c;这个很容易操作&#xff0c;但是如果是&#xff1a;1212161596156198115645646886148461554 2671232162176217624372497590415915915029125 呢&#xff1f;long ? long lo…

C语言和其他高级语言的最大的区别是什么?

提到C语言&#xff0c;我们知道C语言和其他高级语言的最大的区别就是C语言是要操作内存的&#xff01; 我们需要知道——变量&#xff0c;其实是内存地址的一个抽像名字罢了。在静态编译的程序中&#xff0c;所有的变量名都会在编译时被转成内存地址。机器是不知道我们取的名字…

python3 web服务器_python3 简单web服务器

补充&#xff1a;tcp长连接和短连接长连接&#xff1a;客户端向服务器发起连接请求&#xff0c;服务器接收到请求回应给客户端&#xff0c;双方完成三次握手&#xff0c;然后客户端发送消息&#xff0c;服务端回应消息&#xff0c;每一次完成读写操作&#xff0c;套接字不不关闭…

零基础学C语言必备书籍,抖音编程达人推荐(进群交流学习互动)

C语言从入门到进阶的书籍推荐。 【基础】 这本谭浩强写的【C语言程序设计】可谓是广大人事的入门书籍。我曾经用的教材就是这本&#xff0c;里面大概涵盖了 C语言 语法的 80% 。一个很适合自学的入门书。 【c prime puls】 是 C语言 最经典的入门书籍&#xff0c;极力推荐。每…

网站如何进行渠道跟踪_网站如何进行搜索引擎优化?

这是一个很一般的平台标题&#xff0c;没有任何吸引力&#xff0c;但是它真的可以被一个很好的基层站长估计的很少&#xff0c;我问一个做了多年基层站长的朋友&#xff0c;我说如何做好搜索引擎优化的SEO&#xff0c;他给我的答案很难&#xff0c;答案太大了&#xff0c;所以我…

axure 图片切换图片的交互_AxureRP8中实现伸缩式的图片展示交互效果

上午的时候&#xff0c;在一个群里看到这样的实现需求。伸伸缩缩&#xff0c;感觉很爽的样子。那么&#xff0c;这样的一个交互效果如何实现呢&#xff1f;详细的教程我就不写了&#xff0c;直接上交互截图和源文件就好了。好多操作步骤是吧&#xff1f;实际上&#xff0c;只需…

什么是编程语言,大神教你为什么要学C语言?

首先来说说编程语言这个概念。 编程&#xff0c;其实就是让计算机听懂自己的话&#xff0c;让计算机帮自己想干的事情。编程语言&#xff0c;就是让你能够和计算机进行交流的一种语言。说白了就是让你的软件按你的命令干活。 打比方说&#xff0c;我们经常在僵尸片里面看到&a…

xshell vim 不能粘贴_linux基础知识:vim(vi)的知识

### vim三种模式命令行模式&#xff1a;在该模式下不能对文本进行- 直接编辑&#xff0c;可以输入一些操作(删除行&#xff0c;复制行&#xff0c;移动光标&#xff0c;粘贴)【打开之后默认进入的模式】编辑模式&#xff1a;在该模式下可以对文件内容进行编辑末行模式&#xff…

新手如何学习C语言/C++,教你一年时间是拿到年薪50万

最近会有一些初中高中大学的同学问&#xff0c;C语言C不知道怎么学习不会写代码怎么办&#xff1f;大致上都是一些类似的问题吧&#xff0c;回想一下自己走过的路&#xff0c;反复的了很久思考然后写了这篇文章&#xff0c;希望可以对一些迷惘新手小白程序员同学一丝帮助&#…

html横线标记_html中横线怎么写代码

html代码中:如何输入一条长长的横线呀? 用input页面标签 并将下Border设为直线 input[type="text"]{border-bottom:solid 1px #ccc;} html代码中:如何输入一条长长的横线? 你可以用div标签去实现: 横线中间有字 【html5与html的区别】 html通常指的是用来写网页的…

pycharm导入模块不智能显示_Pycharm自动导入模块小技巧

原标题&#xff1a;Pycharm自动导入模块小技巧作者 | 刘志军来源 | Python之禅如果能把工具熟练运用&#xff0c;往往能达到事半功倍的效果&#xff0c;Pycharm 是很多Python开发者的首选IDE&#xff0c;提供各种快捷键、重构功能、调试技巧等&#xff0c;Python是动态语言&…

mac adb 找不到设备_win/Mac办公软件下载找不到资源?试试这三个强大的神器

大家好&#xff0c;我们在办公时&#xff0c;office、wps等办公软件是我们必须用到的&#xff0c;还有一些专业软件&#xff1a;CAD、PS、PROE、UG、SolidWorks、keyshot、VRay、3DsMax、Labview、Maya、AE、AI、ANSYS等也是各行各业的专业人员工作时必不可少的&#xff0c;但是…

C语言入门经验:零基础如何学习C语言?

工作中&#xff0c;接触过很多想到学习c语言而又没有一点计算机基础的人。经常有人问”我没有一点基础&#xff0c;该怎么入门c语言啊”。看过很多初学者久久摸不到门路&#xff0c;每到这个时候&#xff0c;脑海中总会浮现一个问题&#xff1a;学习c语言真的就那么难吗? 不难…