`

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

    博客分类:
  • JAVA
 
阅读更多

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

 

     1.1 String -> Date

 String dateStr = "2010/05/04 12:34:23";

Date date = new Date();
		//注意format的格式要与日期String的格式相匹配
		DateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
		try {
			date = sdf.parse(dateStr);
			System.out.println(date.toString());
		} catch (Exception e) {
			e.printStackTrace();
		}
1.2 Date -> String
String dateStr = "";
		Date date = new Date();
		//format的格式可以任意
		DateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
		DateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH/mm/ss");
		try {
			dateStr = sdf.format(date);
			System.out.println(dateStr);
			dateStr = sdf2.format(date);
			System.out.println(dateStr);
		} catch (Exception e) {
			e.printStackTrace();
		}
二、String与Timestamp互转
2.1 String ->Timestamp
Timestamp ts = new Timestamp(System.currentTimeMillis());
		String tsStr = "2011-05-09 11:49:45";
		try {
			ts = Timestamp.valueOf(tsStr);
			System.out.println(ts);
		} catch (Exception e) {
			e.printStackTrace();
		} 注:String的类型必须形如: yyyy-mm-dd hh:mm:ss[.f...] 这样的格式,中括号表示可选,否则报错!!!

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

2.2 Timestamp -> String

Timestamp ts = new Timestamp(System.currentTimeMillis());
		String tsStr = "";
		DateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
		try {
			//方法一
			tsStr = sdf.format(ts);
			System.out.println(tsStr);
			//方法二
			tsStr = ts.toString();
			System.out.println(tsStr);
		} catch (Exception e) {
			e.printStackTrace();
		}

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

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

 

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

 3.1 Timestamp -> Date

Timestamp ts = new Timestamp(System.currentTimeMillis());
		Date date = new Date();
		try {
			date = ts;
			System.out.println(date);
		} catch (Exception e) {
			e.printStackTrace();
		}

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

3.2 Date -> Timestamp

 

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

 

 

java.sql.Date 只存储日期数据不存储时间数据
// 会丢失时间数据
preparedStatement.setDate(1, new java.sql.Date(date.getTime()));
//可以这样来处理
preparedStatement.setTimestamp(1, new java.sql.Timestamp(new java.util.Date().getTime()));

//想要得到完整的数据,包括日期和时间,可以这样
java.util.Date d = resultSet.getTimestamp(1);
//这样处理更合适一些,可以避免一些潜在Timestamp 问题
java.util.Date d = new java.util.Date(resultSet.getTimestamp(1).getTime());
自己补的话
这样的话:
        往数据库存储的时候可以接收 java.util.Date类型 再用getTime()方法得到代表那个Date对象的long值,再以这个long值 构造一个Timestamp对象 存进数据库中。
       从存数据库里取的时候,可以先得到Timestamp用他的getTime()方法得到long值,再以这个long值构造一个java.util.Date对象,这样就可以对这个Date对象操作了。不如说 new SimpleTimeFormat("yyyyy-MM-dd HH:mm:ss").format()等等

分享到:
评论

相关推荐

    有关java中的Date,String,Timestamp之间的转化问题

    Java 中的 Date、String 和 Timestamp 之间的转换问题 Java 中的日期和时间处理是编程中非常重要的一方面,Date、String 和 Timestamp 是三种常用的日期和时间类型,本文将详细介绍它们之间的转换问题。 一、获取...

    Date、String、Timestamp之间的转换

    Date、String、Timestamp 是 Java 中三个常用的日期和时间类,它们之间的转换是 Java 开发中经常遇到的问题。在本文中,我们将详细介绍 Date、String、Timestamp 之间的转换方法。 Date 和 String 之间的转换 在 ...

    java中将string类型转换成timestamp类型

    "Java中将String类型转换成Timestamp类型" ...将String类型转换成Timestamp类型是Java编程语言中的一种常见操作,该操作需要了解Timestamp类型的特点和限制,并使用正确的方法和技术来实现转换操作。

    在Java中String和Date、Timestamp之间的转换

    本文将详细介绍如何在Java中进行String、Date和Timestamp之间的相互转换。 一、String与Date的转换 1. String转Date 要将一个符合特定格式的日期字符串转换为`Date`对象,可以使用`SimpleDateFormat`类。首先创建...

    Timestamp与Date互转.docx

    在Java编程中,Timestamp和Date是两个常用的时间类型,前者是数据库类型,而后者是Java.util包中的类。由于它们的类型不同,因此在实际开发中,经常需要将Timestamp和Date类型相互转换。下面将详细介绍Timestamp和...

    java.util.Date与java.sql.Date互转及字符串转换为日期时间格式.docx

    总之,在Java中处理日期和时间时,理解`java.util.Date`与`java.sql.Date`的区别以及它们之间的转换非常重要。此外,正确使用日期格式转换工具,如`SimpleDateFormat`,可以大大简化日期时间的处理过程。

    mysql时间类型对应的java类型1

    在Java中,我们可以通过以下方式在这些时间类型之间进行转换: - **从Java到MySQL**: - `java.util.Date`(Java的日期时间类)可以转换为`java.sql.Date`、`java.sql.Time`或`java.sql.Timestamp`,通过`...

    java.util.Date与java.sql.Date互转及字符串转换为日期时间格式[文].pdf

    java.sql.Date、java.sql.Time和java.sql.Timestamp都是java.util.Date的子类(包装类)。但是,java.sql.Date类型的值插入到数据库中Date字段中会发生数据截取。这是因为java.sql.Date只包含年月日信息,时分秒毫秒...

    String、Calendar、Date间的相互转换

    本篇将详细解释如何在`String`、`Calendar`、`Date`之间进行转换,并提供具体的示例代码。 #### 1. Calendar 转化为 String 要将`Calendar`对象转换为`String`,我们首先需要通过`getTime()`方法获取`Date`对象,...

    java中日期格式的转换

    此外,我们还将讨论如何在不同的日期类之间进行转换,例如从`java.util.Date`到`java.sql.Date`,以及如何处理来自数据库的时间戳数据。 ### 一、将日期类型转换为格式化的字符串类型 在Java中,`java.util.Date`...

    java时间转换大全

    本文将详细介绍Java中常用的时间和日期转换方法,涵盖日期与字符串之间的相互转换、日期与时间戳之间的转换等内容。 #### 一、导入所需包 为了实现日期和时间的转换,我们需要导入以下两个包: ```java import ...

    java_时间戳与Date_相互转化相关函数.txt

    在Java编程语言中,时间戳(timestamp)与`java.util.Date`对象之间的转换是处理日期和时间数据时常见的需求。时间戳通常表示为从1970年1月1日午夜(UTC时间)到指定时刻之间的时间间隔,单位通常是毫秒。而`Date`类...

    TimeUtil_java-long型与Date型时间转换工具

    总的来说,`TimeUtil_java-long型与Date型时间转换工具`这个压缩包很可能包含了一个方便的工具类,用于在`long`类型和`Date`类型之间进行转换,并提供了日期相关的辅助方法。在实际开发中,这样的工具类可以极大地...

    Javautildate与javasqldate区别和转换[文].pdf

    此外,`java.sql`包中还有`java.sql.Time`和`java.sql.Timestamp`类,分别用于表示时间(不包含日期)和日期时间的精确值,它们同样可以从`java.util.Date`通过`getTime()`方法转换得到。 总之,`java.util.Date`...

    java DATE与时间戳互化

    在Java中,我们经常需要实现时间戳与`Date`对象之间的相互转换,这主要是为了更好地处理日期和时间信息。 ##### 1. 时间戳转化为Date或String 要将时间戳转化为`Date`对象或字符串格式,可以使用`SimpleDateFormat`...

    java.sql.date与java.util.date.pdf

    转换 `java.util.Date` 和 `java.sql.Date` 之间的方法很简单。例如,如果你有一个 `java.util.Date` 对象,你可以通过调用 `getTime()` 方法获取毫秒值,然后用这个值创建一个新的 `java.sql.Date` 对象。反之亦然...

    java中时间转换

    本篇文章将详细探讨如何将字符串(String)转换为时间戳(Timestamp),以及如何将时间戳转换回字符串,同时还会介绍如何利用这些方法来判断考勤情况。我们将通过具体的代码示例来进行讲解。 首先,让我们来看看...

    JAVA变量类型之间的相互转换

    `Date`对象与毫秒数之间可以互相转换: ```java // 将毫秒数转换为Date long timestamp = System.currentTimeMillis(); Date date = new Date(timestamp); // 将Date转换为毫秒数 Date now = new Date(); long ...

    实例讲解String Date Calendar之间的转换

    在Java编程中,日期和时间处理是常见的任务,涉及到多种数据类型间的转换,如String、Date和Calendar。本文将详细讲解这些类型之间的转换方法,帮助开发者更好地理解和运用。 1. **Calendar转String** `Calendar`...

Global site tag (gtag.js) - Google Analytics