美文网首页程序员
从零单排Java 8(2) —— Timestamp、Strin

从零单排Java 8(2) —— Timestamp、Strin

作者: 油腻的Java | 来源:发表于2019-04-10 13:41 被阅读22次

简介

image.png

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、Strin

    简介 Timestamp是Java中少数遗留日期时间对象之一。 本文我们将讨论如何进行 Timestamp和Str...

  • 优秀文章(解决方案)收集

    【参考】Android Dagger2 从零单排(一) 基础注解Android Dagger2 从零单排(二) @...

  • Redis基础

    参考 从零单排学Redis【青铜】 从零单排学Redis【白银】 从零单排学Redis【黄金】 从零单排学Redi...

  • 从零单排Java多线程(2)

    Java线程同步机制 锁概述 临界区:锁获得与锁释放之间执行的代码称为临界区 一个锁一次只能被一个线程持有,称为排...

  • 从零单排Java 8(1) —— Predicate使用介绍

    简介 在接下来的阶段中,将和大家分享Java 8 系列的一些知识点。本文和大家讲述Predicate的使用方法介绍...

  • datetime, time, timestamp, strin

    参考地址:http://blog.sina.com.cn/s/blog_b09d460201018o0v.html

  • 从零单排

    毕业到现在两年,也有过一份不错的工作。但是作啊,不然怎么变成现在的模样(已经没工作一年)呢!犟亦或是执着,反正就是...

  • 从零单排fastai脚本(2)

    这次看下wgan脚本,这里使用fastai来完成wgan的训练和使用。 老三样,我就不加标题了 1 重要的包 其中...

  • 从零单排Java多线程(1)

    文章主要参考Java多线程编程指南(核心篇) 线程的基础知识 我们想要创建一个线程,要不就是实现Runable接口...

  • 从零单排的this

    说起this,我突然想到一个外国佬学中文的段子:解释文中每个意思的意思: 阿呆送领导红包。领导:你什么意思?阿呆:...

网友评论

    本文标题:从零单排Java 8(2) —— Timestamp、Strin

    本文链接:https://www.haomeiwen.com/subject/mhiiiqtx.html