从零单排Java 8(2) —— Timestamp、String互转

栏目: 编程语言 · Java · 发布时间: 6年前

内容简介:Timestamp是Java中少数遗留日期时间对象之一。本文我们将讨论如何进行 Timestamp和String的互转由于Timestamp依赖于Java专有格式,我们可以看看,在Java8中,如何更高效、快捷的转换。
从零单排 <a href='https://www.codercto.com/topics/22013.html'>Java</a>  8(2) —— Timestamp、String互转

Timestamp是Java中少数遗留日期时间对象之一。

本文我们将讨论如何进行 Timestamp和String的互转

由于Timestamp依赖于Java专有格式,我们可以看看,在Java8中,如何更高效、快捷的转换。

String 转 Timestamp

标准格式

解析一个最简单的方法,可以用Timestamp的 valueOf 方法,就可以满足:

Timestamp.valueOf("2018-11-12 01:02:03.123456789")

复制代码

当我们的String采用JDBC时间戳格式时 - yyyy-m [m] -d [d] hh:mm:ss [.f ...] - ,它会相对简单一些。

具体的格式请看下面表格

格式 描述 示例
yyyy 表示年份,并且必须有四位数字 2019
m[m] 表示月份,必须有一个或两个数字(从1到12) 1,11
d[d] 表示天数,必须有一个或两个数字(从1到31) 1,31
hh 代表一天中的小时,允许的值从0到23 0,23
mm 分钟,允许的值从0到59 0,59
ss 秒,允许的值从0到59 0,59
[.f…] 小数秒(毫微秒)精度,因此允许的值为0到999999999 123456789

其他格式

现在,如果它不是JDBC时间戳格式,该如何解决, 幸运的是, valueOf 也可以接收参数为 LocalDateTime 的实例。

**这意味着我们可以采用任何格式的日期,**我们只需要先将String转换为LocalDateTime 就可以了:

String pattern = "MMM dd, yyyy HH:mm:ss.SSSSSSSS";
String timestampAsString = "Apr 09, 2019 13:02:56.12345678";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern(pattern);
LocalDateTime localDateTime = LocalDateTime.from(formatter.parse(timestampAsString));

复制代码

然后我们可以使用 valueOf

Timestamp timestamp = Timestamp.valueOf(localDateTime);
assertEquals("2019-04-09 13:02:56.12345678", timestamp.toString());

复制代码

请注意, 与Date对象不同,Timestamp对象能够存储毫微秒。


以上所述就是小编给大家介绍的《从零单排Java 8(2) —— Timestamp、String互转》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

白帽子讲浏览器安全

白帽子讲浏览器安全

钱文祥 / 电子工业出版社 / 2016-3 / 79.00元

浏览器是重要的互联网入口,一旦受到漏洞攻击,将直接影响到用户的信息安全。作为攻击者有哪些攻击思路,作为用户有哪些应对手段?在《白帽子讲浏览器安全》中我们将给出解答,带你了解浏览器安全的方方面面。《白帽子讲浏览器安全》兼顾攻击者、研究者和使用者三个场景,对大部分攻击都提供了分析思路和防御方案。《白帽子讲浏览器安全》从攻击者常用技巧的“表象”深入介绍浏览器的具体实现方式,让你在知其然的情况下也知其所以......一起来看看 《白帽子讲浏览器安全》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

随机密码生成器
随机密码生成器

多种字符组合密码