2010-04-30 70 views
19

我想在java中將字符串Date轉換爲Timestamp。我寫了下面的代碼。我已經聲明date1的日期是:7-11-11 12:13:14。如何將字符串日期轉換爲java中的Timestamp?

SimpleDateFormat datetimeFormatter1 = new SimpleDateFormat(
       "yyyy-MM-dd hh:mm:ss"); 
Date lFromDate1 = datetimeFormatter1.parse(date1); 
System.out.println("gpsdate :" + lFromDate1); 
Timestamp fromTS1 = new Timestamp(lFromDate1.getTime()); 

我想將7-11-11 12:13:14這個字符串日期轉換爲時間戳。現在我得到的輸出是0007-11-11 00:13:14.000000 +05:30:00但我想(7-11-11 12:13:14)這種格式的時間戳日期。誰能幫幫我嗎。謝謝。

+0

的可能重複 - (HTTP [Java的時間戳如何創建一個帶有時間戳的日期23/09/2007?]://計算器。問題/ 974973/java-timestamp-how-can-i-create-a-timestamp-with-date-23-09-2007) – 2014-03-28 16:55:00

回答

16

所有你需要做的是改變java.text.SimpleDateFormat構造函數中的字符串: 「MM-DD-YYYY HH:MM: SS」。

只需使用適當的字母來構建上述字符串以匹配您的輸入日期。

+0

感謝您的回答。 – lakshmi 2010-04-30 06:09:49

+0

我改變了SimpleDateFormat,像「yyyy-MM-dd HH:mm:ss」。現在我得到一個答案是2007-11-11 12:13:14.000000 +05:30:00,問題是我不能將此值添加到我的數據庫表中。我想顯示的日期和時間格式是2007-11-11 12:13:14。這個怎麼做..? – lakshmi 2010-04-30 06:18:39

+0

非常感謝我得到了答案。 – lakshmi 2010-04-30 06:44:15

3

利用資本HH得到一天格式的時間,而不是AM/PM小時

+0

感謝您的回答.. – lakshmi 2010-04-30 06:19:40

2

你甚至可以試試這個。

String date="09/08/1980"; // take a string date 
    Timestamp ts=null; //declare timestamp 
    Date d=new Date(date); // Intialize date with the string date 
    if(d!=null){ // simple null check 
     ts=new java.sql.Timestamp(d.getTime()); // convert gettime from date and assign it to your timestamp. 
    } 
6

的java.sql.Timestamp可以解析

如果您可以使用完整的四位數年,2007-11-11 12:13:14您輸入的字符串將是標準的SQL格式假設這個值意味着要一直UTC時區。

java.sql.Timestamp類有一個valueOf方法來直接解析這樣的字符串。

String input = "2007-11-11 12:13:14" ; 
java.sql.Timestamp ts = java.sql.Timestamp.valueOf(input) ; 

java.time

在Java 8及更高版本,java.time框架使得它更容易驗證結果。 j.s.Timestamp類有一個令人厭惡的習慣,在通過其toString方法生成字符串表示時隱式應用JVM的當前默認時間戳。相比之下,java.time類默認使用標準ISO 8601格式。

System.out.println("Output: " + ts.toInstant().toString()); 
1

您可以將字符串轉換爲時間戳:

String inDate = "01-01-1990" 
DateFormat df = new SimpleDateFormat("MM-dd-yyyy"); 
Timestamp ts = new Timestamp(((java.util.Date)df.parse(inDate)).getTime()); 
相關問題