各种日期类型转换

由于java版本的迭代,一个使用java开发的项目中可能出现多种日期对象,例如LocalDateTime、LocalDate、Date,不像C#只有一个DateTime,因此在各种日期格式或者对象之间的转换显得有点复杂,总是记不住,在需要用到时总是需要依靠搜索引擎,有点浪费时间,所以特意把常用的转换场景总结如下:目前写的还不太完善还有很多没有写进去以后慢慢补充

推荐看这篇写的比较全连接

Date–> String

public class Main {//转换格式private static final String PATTERN = "yyyy-MM-dd HH-mm-ss";public static void main(String[] args) {//创建当前日期Date date = new Date();//创建DateFormat实例将PATTERN格式传入DateFormat dateFormat = new SimpleDateFormat(PATTERN);//利用DateFormat的format方法来转换Date成String字符串String format = dateFormat.format(date);//输出字符串System.out.println(format);}//结果//2020-12-10 21-24-37
}

String–>Date

public class Main {//换换格式private static final String PATTERN = "yyyy-MM-dd HH-mm-ss";public static void main(String[] args) {//输入的字符串,格式必须大于等于PATTERN的格式String dateStr = "2020-12-12 12-00-00";//提高变量作用域Date date = null;//创建DateFormat实例将PATTERN格式传入DateFormat dateFormat = new SimpleDateFormat(PATTERN);try {//调用dateFormat的parse方法将字符串转换成Date实例date = dateFormat.parse(dateStr);} catch (ParseException e) {e.printStackTrace();}//输出实例System.out.println(date);}//结果//Sat Dec 12 12:00:00 CST 2020
}

Instant–>String

public class Main {//转换格式private static final String PATTERN = "yyyy年MM月dd日 HH-mm-ss";public static void main(String[] args) {//创建DateTimeFormatter实例,因为DateTimeFormatter没有构造方法所以只能通过ofPattern设置格式DateTimeFormatter formatter = DateTimeFormatter.ofPattern(PATTERN);//拿到当前默认时区formatter = formatter.withZone(ZoneId.systemDefault());//创建当前时间实例Instant now = Instant.now();//利用DateTimeFormatter的format方法进行转换String format = formatter.format(now);//输出String格式时间System.out.println(format);}//结果//2020年12月10日 21-31-52
}

Local Date Time -->String

public class Main {//转换格式private static final String PATTERN = "yyyy年MM月dd日 HH时mm分ss秒";public static void main(String[] args) {//创建LocalDateTime实例LocalDateTime now = LocalDateTime.now();//创建DateTimeFormatter实例,因为DateTimeFormatter没有构造方法所以只能通过ofPattern设置格式DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern(PATTERN);//调用实例的format方法,其实底层还是调用DateTimeFormatter的format方法String format = now.format(dateTimeFormatter);//输出结果System.out.println(format);}//结果//2020年12月10日 22时00分48秒
}

String–>Local Date Time

public class Main {//转换格式private static final String PATTERN = "yyyy-MM-dd HH:mm:ss";public static void main(String[] args) {//时间字符串String strTime = "2020-12-12 12:00:00";//创建DateTimeFormatter实例传入PATTERNDateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern(PATTERN);//利用LocalDateTime的parese方法转换格式LocalDateTime date = LocalDateTime.parse(strTime, dateTimeFormatter);//输出结果System.out.println(date);}//结果//2020-12-12T12:00
}

Local Date Time–>Instant

public class Main {public static void main(String[] args) {//创建LocalDateTime实例LocalDateTime now = LocalDateTime.now();//创建ZonedDateTime实例ZonedDateTime zonedDateTime = now.atZone(ZoneId.systemDefault());//ZonedDateTime的toInstant方法转换成Instant实例Instant instant = zonedDateTime.toInstant();//打印实例System.out.println(instant);}//结果//2020-12-10T14:04:00.816Z
}

Local Date Time–>Date

public class Main {public static void main(String[] args) {//创建LocalDateTime实例LocalDateTime now = LocalDateTime.now();//创建ZonedDateTime实例ZonedDateTime zonedDateTime = now.atZone(ZoneId.systemDefault());//ZonedDateTime的toInstant方法转换成Instant实例Instant instant = zonedDateTime.toInstant();//利用Date的from方法转换Instant至DateDate date = Date.from(instant);//打印实例System.out.println(date);}//结果//Thu Dec 10 22:38:12 CST 2020
}

java日期互转:LocalDateTime、String、Instant、Date相关推荐

  1. 日期格式转换:String 与 date

    在java中转换 //String->Date String time = "2018-01-09": try{SimpleDateFormat sdf= new Simpl ...

  2. JAVA时间类型:Date、Calendar、LocalDate 、LocalTime、LocalDateTime、Instant的使用

    本文介绍JAVA的几种时间类型的使用:Date.Calendar.LocalDate .LocalTime.LocalDateTime.Instant Date #获取当前时间 Date date = ...

  3. java日期和时间操作

    Java日期处理 参考 https://juejin.cn/post/6844903560375697422 https://mp.weixin.qq.com/s/q__JSyLt1iy4h3NwZ6 ...

  4. java 日期的工具类_java 日期时间工具类

    package org.apache.pwd.util; import java.text.SimpleDateFormat; import java.util.Calendar; import ja ...

  5. java日期工具类DateUtil

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. DateUtil类 [java] view plain copy package com.util; ...

  6. Java日期操作工具类

    /*** 格式化日期显示格式** @param sdate* 原始日期格式 s - 表示 "yyyy-mm-dd" 形式的日期的 String 对象* @param format* ...

  7. java 日期处理类

    好用的日期处理类: package com.openapi.util;import org.apache.commons.lang3.StringUtils;import java.text.Date ...

  8. Java常用类(2)--日期时间相关类Date、Calendar、LocalDateTime、Instant全面

    文章目录 java.lang.System类 java.util.Date类 java.sql.Date类 java.text.SimpleDateFormat类 java.util.Calendar ...

  9. JAVA中String与Date类型互转

    String2Date              &&      Date2String 首先,感谢阅览,能够帮到你是我的荣幸,有不足的挺多指教. 在java中不支持String和Da ...

  10. 【Java 基础】字符串(String、StringBuilder),日期(Date、SimpleDateFormat、Calendar)

    字符串.日期 字符串(String) 字符串常量池(String Constant Pool) 字符串的初始化 intern 方法 字符串的常用方法(截取) 可变字符串(StringBuilder) ...

最新文章

  1. 剑指offer:面试题11. 旋转数组的最小数字
  2. Xonsh库——Python和Shell语法互通
  3. Linux下find命令详情
  4. 画出降维后的图片_有没有人能画出《三体》里太阳系被二维化的概念图?
  5. tomcat8.5 远程访问 manager页面
  6. 支付宝不止怀有“社交梦”,社区金融才是它的野心所在
  7. python重点知识 钻石_python——子类对象如何访问父类的同名方法
  8. 2021南京大学计算机复试线,南京大学2021年硕士研究生复试基本分数线
  9. mysql面试常用命令_面试之MySQL基本命令
  10. 安装OpenCV:OpenCV 3.0、OpenCV 2.4.8、OpenCV 2.4.9 +VS 开发环境配置(转)
  11. java对象存储管理
  12. 肇东一中2021高考成绩查询,肇东一中高考录取喜报
  13. JDK中的BitMap实现之BitSet源码分析
  14. css的sprites什么意思,CSS Sprites是什么
  15. RPA进阶(二)Uipath应用实践
  16. jQuery项目:京东商品详情页
  17. XPO 的三篇介绍文章。
  18. web页面中实现局部页面的刷新
  19. globalsign代码签名最新步骤
  20. vnc远程工具的使用教程

热门文章

  1. 语法错误 : 缺少“;”(在“<”的前面)
  2. lock free(无锁并发)是什么
  3. 在已有的服务器上如何部署网站,如何在云服务器上部署网站
  4. android状态栏虚拟按键适配,Android开发笔记——透明状态栏与透明虚拟按键
  5. long 雪花算法_深入分析mysql为什么不推荐使用uuid或者雪花id作为主键
  6. 【servlet】servlet基础知识总结
  7. mac/linux下java项目使用本机自带ssh和scp命令,自动复制上传并部署的脚本
  8. 阶段3 3.SpringMVC·_07.SSM整合案例_02.ssm整合之搭建环境
  9. 阶段3 2.Spring_04.Spring的常用注解_1 今日课程内容介绍
  10. 阶段3 1.Mybatis_06.使用Mybatis完成DAO层的开发_4 Mybatis中使用Dao实现类的执行过程分析-查询方法...