敦煌网站销售员怎么做电影网站开发PPT模板

当前位置: 首页 > news >正文

敦煌网站销售员怎么做,电影网站开发PPT模板,营销型网站建设专家,简洁大气摄影网站【README】 1#xff09;本文总结了java8中日期时间常用工具方法#xff1b;包括#xff1a; 日期时间对象格式化为字符串#xff1b;日期时间字符串解析为日期时间对象#xff1b;日期时间对象转换#xff1b; 转换过程中#xff0c;需要注意的是#xff1a; Instan…【README】 1本文总结了java8中日期时间常用工具方法包括 日期时间对象格式化为字符串日期时间字符串解析为日期时间对象日期时间对象转换 转换过程中需要注意的是 Instant与Date带时区易变而LocalDateTimeLocalDateLocalTime 不带时区不可变 2日期时间工具类定义如下 public class BusiDateTimeUtils {/** 日期时间格式化器 */private static final DateTimeFormatter DATETIME_FORMATTER DateTimeFormatter.ofPattern(yyyy-MM-dd HH:mm:ss);/** 日期格式化器 */private static final DateTimeFormatter DATE_FORMATTER DateTimeFormatter.ofPattern(yyyy-MM-dd);private BusiDateTimeUtils() {// do nothing.} // ……………….. } 【1】当前日期时间操作 /** ——————– 1. 当前日期时间操作 ——————– */public static String getNowLocalDateTimeStr() {return LocalDateTime.now().format(DATETIME_FORMATTER);}public static String getNowLocalDateStr() {return LocalDate.now().format(DATE_FORMATTER);} 【1.1】单测案例 /** ——————– 1. 当前日期时间操作 ——————– */Testpublic void test1() {// 获取当前日期时间String nowLocalDateTimeStr BusiDateTimeUtils.getNowLocalDateTimeStr();System.out.println(nowLocalDateTimeStrnowLocalDateTimeStr); // 2023-10-05 21:28:09// 获取当前日期String nowLocalDateStr BusiDateTimeUtils.getNowLocalDateStr();System.out.println(nowLocalDateStr nowLocalDateStr); // 2023-10-05} 【2】字符串解析为日期时间对象 /** ——————– 2. 字符串解析为日期时间对象 ——————– */public static LocalDateTime parseLocalDateTime(String dateTimeStr) {return LocalDateTime.parse(dateTimeStr, DATETIME_FORMATTER);}public static LocalDate parseLocalDate(String dateStr) {return LocalDate.parse(dateStr, DATE_FORMATTER);} 【2.1】单测案例 /** ——————– 2. 字符串解析为日期时间对象 ——————– */Testpublic void test2() {// 解析当前日期时间String nowLocalDateTimeStr BusiDateTimeUtils.getNowLocalDateTimeStr();System.out.println(nowLocalDateTimeStr nowLocalDateTimeStr); // 2023-10-05 21:29:32LocalDateTime parsedLocalDateTime BusiDateTimeUtils.parseLocalDateTime(nowLocalDateTimeStr);System.out.println(parsedLocalDateTime); // 2023-10-05T21:29:32// 解析当前日期String nowLocalDateStr BusiDateTimeUtils.getNowLocalDateStr();System.out.println(nowLocalDateStr nowLocalDateStr); // 2023-10-05LocalDate parsedLocalDate BusiDateTimeUtils.parseLocalDate(nowLocalDateStr);System.out.println(parsedLocalDate); // 2023-10-05} 【3】日期时间对象格式化为字符串 /** ——————– 3. 日期时间对象格式化为字符串 ——————– */public static String format(LocalDateTime localDateTime) {return localDateTime.format(DATETIME_FORMATTER);}public static String format(LocalDate localDate) {return localDate.format(DATE_FORMATTER);} 【3.1】单测案例 /** ——————– 3. 日期时间对象格式化为字符串 ——————– */Testpublic void test3() {// 格式化当前日期时间对象为字符串String nowLocalDateTimeStr BusiDateTimeUtils.getNowLocalDateTimeStr();System.out.println(nowLocalDateTimeStr nowLocalDateTimeStr); // 2023-10-05 21:35:19LocalDateTime parsedLocalDateTime BusiDateTimeUtils.parseLocalDateTime(nowLocalDateTimeStr);String formatedLocalDateTime BusiDateTimeUtils.format(parsedLocalDateTime);System.out.println(formatedLocalDateTime); // 2023-10-05 21:35:19// 格式化当前日期对象为字符串String nowLocalDateStr BusiDateTimeUtils.getNowLocalDateStr();System.out.println(nowLocalDateStr nowLocalDateStr); // 2023-10-05LocalDate parsedLocalDate BusiDateTimeUtils.parseLocalDate(nowLocalDateStr);String formatedLocalDate BusiDateTimeUtils.format(parsedLocalDate);System.out.println(formatedLocalDate); // 2023-10-05} 【4】*LocalDateTime 转为其他日期时间类型重要 /** ——————– 4. LocalDateTime 转为其他日期时间类型 ——————– */public static LocalDate toLocalDate(LocalDateTime localDateTime) {return localDateTime.toLocalDate();}public static Instant toInstant(LocalDateTime localDateTime) {return localDateTime.toInstant(ZoneOffset.UTC);}public static Date toDate(LocalDateTime localDateTime) {return Date.from(localDateTime.atZone(ZoneId.systemDefault()).toInstant());} 【说明】LocalDateTime 转 Instant与Date时做了一些特殊处理 LocalDateTime没有时区而Instant有时区为了统一把Instant的时区设置为0时区UTC则LocalDateTime与Instant都没有时区了LocalDateTime没有时区Instant有时区Date有时区 先把 LocalDateTime转为带时区的日期时间 ZonedDateTime再把 ZonedDateTime 转 Instant默认时区为系统时区最后把Instant转Date默认时区为系统时区  【4.1】单测案例 /** ——————– 4. LocalDateTime 转为其他日期时间类型 ——————– */Testpublic void test4() {LocalDateTime nowLocalDateTime LocalDateTime.now();System.out.println(nowLocalDateTimeStrBusiDateTimeUtils.format(nowLocalDateTime)); // 2023-10-05 21:37:14// LocalDateTime 转 LocalDateLocalDate localDate BusiDateTimeUtils.toLocalDate(nowLocalDateTime);LocalDate localDate2 nowLocalDateTime.toLocalDate(); // 与上一行代码效果一样System.out.println(localDate localDate); // 2023-10-05// LocalDateTime 转 InstantInstant nowInstant BusiDateTimeUtils.toInstant(nowLocalDateTime);System.out.println(nowInstant); // 2023-10-05T21:37:14.677Z// LocalDateTime 转 DateDate nowDate BusiDateTimeUtils.toDate(nowLocalDateTime);System.out.println(nowDate); // Thu Oct 05 21:37:14 CST 2023 } 【5】LocalDate 转为其他日期时间类型 /** ——————– 5. LocalDate 转为其他日期时间类型 ——————– */public static LocalDateTime toLocalDateTime(LocalDate localDate) {return localDate.atStartOfDay();}public static Instant toInstant(LocalDate localDate) {return localDate.atStartOfDay().toInstant(ZoneOffset.UTC);}public static Date toDate(LocalDate localDate) {return Date.from(localDate.atStartOfDay().atZone(ZoneId.systemDefault()).toInstant());} 【说明】LocalDate 转 Instant与Date时做了一些特殊处理与 LocalDateTime 转 Instant与Date类似 这里不再赘述参见本文章节【4】 【5.1】单测案例 /** ——————– 5. LocalDate 转为其他日期时间类型 ——————– */Testpublic void test5() {LocalDate nowLocalDate LocalDate.now();System.out.println(nowLocalDateStrBusiDateTimeUtils.format(nowLocalDate)); // 2023-10-05// LocalDate 转 LocalDateTimeLocalDateTime localDateTime BusiDateTimeUtils.toLocalDateTime(nowLocalDate);System.out.println(localDateTime localDateTime); // 2023-10-05T00:00// LocalDate 转 InstantInstant nowInstant BusiDateTimeUtils.toInstant(nowLocalDate);System.out.println(nowInstant); // 2023-10-05T00:00// LocalDate 转 DateDate nowDate BusiDateTimeUtils.toDate(nowLocalDate);System.out.println(nowDate); // Thu Oct 05 00:00:00 CST 2023} 【6】Instant 转为其他日期时间类型 /** ——————– 6. Instant 转为其他日期时间类型 ——————– */public static LocalDateTime toLocalDateTime(Instant instantWithoutZone) {return LocalDateTime.ofInstant(instantWithoutZone, ZoneOffset.UTC);}public static LocalDate toLocalDate(Instant instantWithoutZone) {return toLocalDateTime(instantWithoutZone).toLocalDate();}public static Date toDate(Instant instantWithoutZone) {return toDate(toLocalDateTime(instantWithoutZone));} 【说明】 注意上述工具方法中入参 Instant变量是不带时区的也可以理解为时区为UTC0时区 【6.1】单测案例 /** ——————– 6. Instant 转为其他日期时间类型 ——————– /Testpublic void test6() {Instant nowInstantWithoutZone LocalDateTime.now().toInstant(ZoneOffset.UTC);System.out.println(nowZonedInstantnowInstantWithoutZone); // 2023-10-05T22:00:54.783ZSystem.out.println(Instant.now() Instant.now()); // 2023-10-05T14:00:54.798Z(注意这里晚了8个小时)// Instant 转 LocalDateTimeLocalDateTime localDateTime BusiDateTimeUtils.toLocalDateTime(nowInstantWithoutZone);System.out.println(localDateTime localDateTime); // 2023-10-05T22:00:54.783// Instant 转 LocalDateLocalDate localDate BusiDateTimeUtils.toLocalDate(nowInstantWithoutZone);System.out.println(localDate localDate); // 2023-10-05// Instant 转 DateDate date BusiDateTimeUtils.toDate(nowInstantWithoutZone);System.out.println(date date); // dateThu Oct 05 22:00:54 CST 2023 } 【7】总结 【7.1】日期时间工具类 /** Description 日期时间工具类* author xiao tang* version 1.0.0* createTime 2023年10月05日*/ public class BusiDateTimeUtils {/** 日期时间格式化器 */private static final DateTimeFormatter DATETIME_FORMATTER DateTimeFormatter.ofPattern(yyyy-MM-dd HH:mm:ss);/** 日期格式化器 */private static final DateTimeFormatter DATE_FORMATTER DateTimeFormatter.ofPattern(yyyy-MM-dd);private BusiDateTimeUtils() {// do nothing.}/** ——————– 1. 当前日期时间操作 ——————– */public static String getNowLocalDateTimeStr() {return LocalDateTime.now().format(DATETIME_FORMATTER);}public static String getNowLocalDateStr() {return LocalDate.now().format(DATE_FORMATTER);}/** ——————– 2. 字符串解析为日期时间对象 ——————– */public static LocalDateTime parseLocalDateTime(String dateTimeStr) {return LocalDateTime.parse(dateTimeStr, DATETIME_FORMATTER);}public static LocalDate parseLocalDate(String dateStr) {return LocalDate.parse(dateStr, DATE_FORMATTER);}/** ——————– 3. 日期时间对象格式化为字符串 ——————– */public static String format(LocalDateTime localDateTime) {return localDateTime.format(DATETIME_FORMATTER);}public static String format(LocalDate localDate) {return localDate.format(DATE_FORMATTER);}/** ——————– 4. LocalDateTime 转为其他日期时间类型 ——————– */public static LocalDate toLocalDate(LocalDateTime localDateTime) {return localDateTime.toLocalDate();}public static Instant toInstant(LocalDateTime localDateTime) {return localDateTime.toInstant(ZoneOffset.UTC);}public static Date toDate(LocalDateTime localDateTime) {return Date.from(localDateTime.atZone(ZoneId.systemDefault()).toInstant());}/** ——————– 5. LocalDate 转为其他日期时间类型 ——————– */public static LocalDateTime toLocalDateTime(LocalDate localDate) {return localDate.atStartOfDay();}public static Instant toInstant(LocalDate localDate) {return localDate.atStartOfDay().toInstant(ZoneOffset.UTC);}public static Date toDate(LocalDate localDate) {return Date.from(localDate.atStartOfDay().atZone(ZoneId.systemDefault()).toInstant());}/** ——————– 6. Instant 转为其他日期时间类型 ——————– /public static LocalDateTime toLocalDateTime(Instant instantWithoutZone) {return LocalDateTime.ofInstant(instantWithoutZone, ZoneOffset.UTC);}public static LocalDate toLocalDate(Instant instantWithoutZone) {return toLocalDateTime(instantWithoutZone).toLocalDate();}public static Date toDate(Instant instantWithoutZone) {return toDate(toLocalDateTime(instantWithoutZone));} }【7.2】日期时间工具类单测案例 /** Description 日期时间工具类单测案例 * author xiao tang* version 1.0.0* createTime 2023年10月05日*/ public class BusiDateTimeUtilsTest {/** ——————– 1. 当前日期时间操作 ——————– */Testpublic void test1() {// 获取当前日期时间String nowLocalDateTimeStr BusiDateTimeUtils.getNowLocalDateTimeStr();System.out.println(nowLocalDateTimeStrnowLocalDateTimeStr); // 2023-10-05 21:28:09// 获取当前日期String nowLocalDateStr BusiDateTimeUtils.getNowLocalDateStr();System.out.println(nowLocalDateStr nowLocalDateStr); // 2023-10-05}/** ——————– 2. 字符串解析为日期时间对象 ——————– */Testpublic void test2() {// 解析当前日期时间String nowLocalDateTimeStr BusiDateTimeUtils.getNowLocalDateTimeStr();System.out.println(nowLocalDateTimeStr nowLocalDateTimeStr); // 2023-10-05 21:29:32LocalDateTime parsedLocalDateTime BusiDateTimeUtils.parseLocalDateTime(nowLocalDateTimeStr);System.out.println(parsedLocalDateTime); // 2023-10-05T21:29:32// 解析当前日期String nowLocalDateStr BusiDateTimeUtils.getNowLocalDateStr();System.out.println(nowLocalDateStr nowLocalDateStr); // 2023-10-05LocalDate parsedLocalDate BusiDateTimeUtils.parseLocalDate(nowLocalDateStr);System.out.println(parsedLocalDate); // 2023-10-05}/** ——————– 3. 日期时间对象格式化为字符串 ——————– */Testpublic void test3() {// 格式化当前日期时间对象为字符串String nowLocalDateTimeStr BusiDateTimeUtils.getNowLocalDateTimeStr();System.out.println(nowLocalDateTimeStr nowLocalDateTimeStr); // 2023-10-05 21:35:19LocalDateTime parsedLocalDateTime BusiDateTimeUtils.parseLocalDateTime(nowLocalDateTimeStr);String formatedLocalDateTime BusiDateTimeUtils.format(parsedLocalDateTime);System.out.println(formatedLocalDateTime); // 2023-10-05 21:35:19// 格式化当前日期对象为字符串String nowLocalDateStr BusiDateTimeUtils.getNowLocalDateStr();System.out.println(nowLocalDateStr nowLocalDateStr); // 2023-10-05LocalDate parsedLocalDate BusiDateTimeUtils.parseLocalDate(nowLocalDateStr);String formatedLocalDate BusiDateTimeUtils.format(parsedLocalDate);System.out.println(formatedLocalDate); // 2023-10-05}/** ——————– 4. LocalDateTime 转为其他日期时间类型 ——————– */Testpublic void test4() {LocalDateTime nowLocalDateTime LocalDateTime.now();System.out.println(nowLocalDateTimeStrBusiDateTimeUtils.format(nowLocalDateTime)); // 2023-10-05 21:37:14// LocalDateTime 转 LocalDateLocalDate localDate BusiDateTimeUtils.toLocalDate(nowLocalDateTime);LocalDate localDate2 nowLocalDateTime.toLocalDate(); // 与上一行代码效果一样System.out.println(localDate localDate); // 2023-10-05// LocalDateTime 转 InstantInstant nowInstant BusiDateTimeUtils.toInstant(nowLocalDateTime);System.out.println(nowInstant); // 2023-10-05T21:37:14.677Z// LocalDateTime 转 DateDate nowDate BusiDateTimeUtils.toDate(nowLocalDateTime);System.out.println(nowDate); // Thu Oct 05 21:37:14 CST 2023}/** ——————– 5. LocalDate 转为其他日期时间类型 ——————– */Testpublic void test5() {LocalDate nowLocalDate LocalDate.now();System.out.println(nowLocalDateStrBusiDateTimeUtils.format(nowLocalDate)); // 2023-10-05// LocalDate 转 LocalDateTimeLocalDateTime localDateTime BusiDateTimeUtils.toLocalDateTime(nowLocalDate);System.out.println(localDateTime localDateTime); // 2023-10-05T00:00// LocalDate 转 InstantInstant nowInstant BusiDateTimeUtils.toInstant(nowLocalDate);System.out.println(nowInstant); // 2023-10-05T00:00// LocalDate 转 DateDate nowDate BusiDateTimeUtils.toDate(nowLocalDate);System.out.println(nowDate); // Thu Oct 05 00:00:00 CST 2023}/** ——————– 6. Instant 转为其他日期时间类型 ——————– */Testpublic void test6() {Instant nowInstantWithoutZone LocalDateTime.now().toInstant(ZoneOffset.UTC);System.out.println(nowZonedInstantnowInstantWithoutZone); // 2023-10-05T22:00:54.783ZSystem.out.println(Instant.now() Instant.now()); // 2023-10-05T14:00:54.798Z(注意这里晚了8个小时)// Instant 转 LocalDateTimeLocalDateTime localDateTime BusiDateTimeUtils.toLocalDateTime(nowInstantWithoutZone);System.out.println(localDateTime localDateTime); // 2023-10-05T22:00:54.783// Instant 转 LocalDateLocalDate localDate BusiDateTimeUtils.toLocalDate(nowInstantWithoutZone);System.out.println(localDate localDate); // 2023-10-05// Instant 转 DateDate date BusiDateTimeUtils.toDate(nowInstantWithoutZone);System.out.println(date date); // dateThu Oct 05 22:00:54 CST 2023} }