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

兰州营销型网站wordpress快速发布工具

兰州营销型网站,wordpress快速发布工具,长沙网站推,wordpress ajax加载【README】 1)本文总结了java8中日期时间常用工具方法;包括: 日期时间对象格式化为字符串;日期时间字符串解析为日期时间对象;日期时间对象转换; 转换过程中,需要注意的是: Instan…

【README】

1)本文总结了java8中日期时间常用工具方法;包括:

  • 日期时间对象格式化为字符串;
  • 日期时间字符串解析为日期时间对象;
  • 日期时间对象转换;
    • 转换过程中,需要注意的是: Instant与Date带时区(易变),而LocalDateTime,LocalDate,LocalTime 不带时区(不可变)

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("nowLocalDateTimeStr="+nowLocalDateTimeStr); // 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("nowLocalDateTimeStr="+BusiDateTimeUtils.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("nowLocalDateStr="+BusiDateTimeUtils.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变量是不带时区的,也可以理解为时区为UTC(0时区)

【6.1】单测案例

/** -------------------- 6. Instant 转为其他日期时间类型 -------------------- */@Testpublic void test6() {Instant nowInstantWithoutZone = LocalDateTime.now().toInstant(ZoneOffset.UTC);System.out.println("nowZonedInstant="+nowInstantWithoutZone); // 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); // date=Thu 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("nowLocalDateTimeStr="+nowLocalDateTimeStr); // 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("nowLocalDateTimeStr="+BusiDateTimeUtils.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("nowLocalDateStr="+BusiDateTimeUtils.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("nowZonedInstant="+nowInstantWithoutZone); // 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); // date=Thu Oct 05 22:00:54 CST 2023}
}

http://www.yayakq.cn/news/240312/

相关文章:

  • 浙江网站建设专家评价wordpress 免费中文模板下载
  • 房山网站建设优化seo扁平风格 网站模板
  • 50个产品改良设计网站关键词在线优化
  • 不会编程 做网站wordpress-5.0升级未被安装
  • 海南房产网站开发乐清企业网站建站
  • 河间申梦网站建设制作做电影种子下载网站违法吗
  • 门户网站开发wordpress如何添加备案号
  • 求助如何做网站推广甘肃省住房城乡建设厅网站首页
  • 张掖北京网站建设wordpress微支付宝
  • 网站如何做分站网站需求怎么做
  • 云南住建局和城乡建设报考网站自己怎么做云购网站
  • jsp python 网站开发品牌建设的论文
  • 莆田外贸网站建设有哪些网站访客qq系统
  • 网站使用问题邯郸信息港聊天室
  • 做那个免费视频网站享设计官网
  • 来凤县住房和城乡建设厅网站南阳专业网站建设
  • 网站 png网站推广怎么做有效果
  • 个人网站设计风格个人建网站多少钱
  • 长沙h5建站怎么创建免费的网站
  • 信息部网站建设工作计划网站建设尢金手指专业
  • 网站标准尺寸天津门户网站开发
  • 用手机怎么申请免费自助网站小程序有什么用
  • WordPress跳转提示百度的关键词优化
  • 昆山网站建设官网免费网站建站2773
  • 浙江外贸网站建设阿里云云主机做网站
  • 网站如何做交换链接房屋租赁合同
  • 网站的基本建设投资重庆市公共资源交易中心官网
  • 自助建站系统哪个好用seo权重优化
  • 安徽制作网站专业公司怎么投放广告是最有效的
  • 网站模板怎么套用优质的网站制作