Java:String和Date、Timestamp之间的转换

简介: 一、String与Date(java.util.Date)互转        1.1 String -> Date   Java代码   String dateStr = "2010/05/04 12:34:23";           Date date = new ...

一、String与Date(java.util.Date)互转

 

     1.1 String -> Date

 

Java代码   收藏代码
  1. String dateStr = "2010/05/04 12:34:23";  
  2.         Date date = new Date();  
  3.         //注意format的格式要与日期String的格式相匹配  
  4.         DateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");  
  5.         try {  
  6.             date = sdf.parse(dateStr);  
  7.             System.out.println(date.toString());  
  8.         } catch (Exception e) {  
  9.             e.printStackTrace();  
  10.         }  

 

 

  1.2 Date -> String

 

   日期向字符串转换,可以设置任意的转换格式format

Java代码   收藏代码
  1. String dateStr = "";  
  2.         Date date = new Date();  
  3.         //format的格式可以任意  
  4.         DateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");  
  5.         DateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH/mm/ss");  
  6.         try {  
  7.             dateStr = sdf.format(date);  
  8.             System.out.println(dateStr);  
  9.             dateStr = sdf2.format(date);  
  10.             System.out.println(dateStr);  
  11.         } catch (Exception e) {  
  12.             e.printStackTrace();  
  13.         }  

 二、String与Timestamp互转

 

 

   2.1 String ->Timestamp

 

 

   使用Timestamp的valueOf()方法

Java代码   收藏代码
  1. Timestamp ts = new Timestamp(System.currentTimeMillis());  
  2.         String tsStr = "2011-05-09 11:49:45";  
  3.         try {  
  4.             ts = Timestamp.valueOf(tsStr);  
  5.             System.out.println(ts);  
  6.         } catch (Exception e) {  
  7.             e.printStackTrace();  
  8.         }  

   注:String的类型必须形如: yyyy-mm-dd hh:mm:ss[.f...] 这样的格式,中括号表示可选,否则报错!!!

    如果String为其他格式,可考虑重新解析下字符串,再重组~~

 

    2.2 Timestamp -> String

 

  使用Timestamp的toString()方法或者借用DateFormat

 

Java代码   收藏代码
  1. Timestamp ts = new Timestamp(System.currentTimeMillis());  
  2.         String tsStr = "";  
  3.         DateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");  
  4.         try {  
  5.             //方法一  
  6.             tsStr = sdf.format(ts);  
  7.             System.out.println(tsStr);  
  8.             //方法二  
  9.             tsStr = ts.toString();  
  10.             System.out.println(tsStr);  
  11.         } catch (Exception e) {  
  12.             e.printStackTrace();  
  13.         }  

 很容易能够看出来,方法一的优势在于可以灵活的设置字符串的形式。

三、Date( java.util.Date )和Timestamp互转

 

  声明:查API可知,Date和Timesta是父子类关系

 

 

  3.1 Timestamp -> Date

 

 

Java代码   收藏代码
  1. Timestamp ts = new Timestamp(System.currentTimeMillis());  
  2.         Date date = new Date();  
  3.         try {  
  4.             date = ts;  
  5.             System.out.println(date);  
  6.         } catch (Exception e) {  
  7.             e.printStackTrace();  
  8.         }  

 很简单,但是此刻date对象指向的实体却是一个Timestamp,即date拥有Date类的方法,但被覆盖的方法的执行实体在Timestamp中。

 

 

   3.2 Date -> Timestamp

 

   父类不能直接向子类转化,可借助中间的String~~~~

   注:使用以下方式更简洁

   Timestamp ts = new Timestamp(date.getTime());

 

目录
相关文章
|
7月前
|
编解码 Java 开发者
Java String类的关键方法总结
以上总结了Java `String` 类最常见和重要功能性方法。每种操作都对应着日常编程任务,并且理解每种操作如何影响及处理 `Strings` 对于任何使用 Java 的开发者来说都至关重要。
448 5
|
7月前
|
存储 Java 程序员
【Java】(6)全方面带你了解Java里的日期与时间内容,介绍 Calendar、GregorianCalendar、Date类
java.util 包提供了 Date 类来封装当前的日期和时间。Date 类提供两个构造函数来实例化 Date 对象。第一个构造函数使用当前日期和时间来初始化对象。Date( )第二个构造函数接收一个参数,该参数是从1970年1月1日起的毫秒数。
314 1
|
9月前
|
存储 SQL 缓存
Java字符串处理:String、StringBuilder与StringBuffer
本文深入解析Java中String、StringBuilder和StringBuffer的核心区别与使用场景。涵盖字符串不可变性、常量池、intern方法、可变字符串构建器的扩容机制及线程安全实现。通过性能测试对比三者差异,并提供最佳实践与高频面试问题解析,助你掌握Java字符串处理精髓。
|
10月前
|
自然语言处理 Java Apache
在Java中将String字符串转换为算术表达式并计算
具体的实现逻辑需要填写在 `Tokenizer`和 `ExpressionParser`类中,这里只提供了大概的框架。在实际实现时 `Tokenizer`应该提供分词逻辑,把输入的字符串转换成Token序列。而 `ExpressionParser`应当通过递归下降的方式依次解析
484 14
|
9月前
|
安全 Java API
Java日期时间API:从Date到Java.time
本文深入解析了Java 8中引入的全新日期时间API,涵盖LocalDate、LocalTime、LocalDateTime、ZonedDateTime等核心类的使用,以及时间调整、格式化、时区处理和与旧API的互操作。通过实例对比,展示了新API在可变性、线程安全与易用性方面的显著优势,并提供迁移方案与实战技巧,助你掌握现代Java时间处理的最佳实践。
|
缓存 安全 Java
《从头开始学java,一天一个知识点》之:字符串处理:String类的核心API
🌱 **《字符串处理:String类的核心API》一分钟速通!** 本文快速介绍Java中String类的3个高频API:`substring`、`indexOf`和`split`,并通过代码示例展示其用法。重点提示:`substring`的结束索引不包含该位置,`split`支持正则表达式。进一步探讨了String不可变性的高效设计原理及企业级编码规范,如避免使用`new String()`、拼接时使用`StringBuilder`等。最后通过互动解密游戏帮助读者巩固知识。 (上一篇:《多维数组与常见操作》 | 下一篇预告:《输入与输出:Scanner与System类》)
375 11
课时14:Java数据类型划分(初见String类)
课时14介绍Java数据类型,重点初见String类。通过三个范例讲解:观察String型变量、"+"操作符的使用问题及转义字符的应用。String不是基本数据类型而是引用类型,但使用方式类似基本类型。课程涵盖字符串连接、数学运算与字符串混合使用时的注意事项以及常用转义字符的用法。
415 9
|
11月前
|
存储 编译器 C语言
关于string的‘\0‘与string,vector构造特点,反迭代器与迭代器类等的讨论
你真的了解string的'\0'么?你知道创建一个string a("abcddddddddddddddddddddddddd", 16);这样的string对象要创建多少个对象么?你知道string与vector进行扩容时进行了怎么的操作么?你知道怎么求Vector 最大 最小值 索引 位置么?
263 0