簡體   English   中英

如何在java中將字符串日期轉換為Timestamp?

[英]How to convert string date to Timestamp in java?

我想在java中將字符串Date轉換為Timestamp。 我寫了以下編碼。我已聲明date1的日期是:7-11-11 12:13:14。

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)這種格式的時間戳日期。 誰能幫幫我嗎。 謝謝。

您需要做的就是將java.text.SimpleDateFormat構造函數中的字符串更改為:“MM-dd-yyyy HH:mm:ss”。

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

TL;博士

java.sql.Timestamp                  
.valueOf(                           // Class-method parses SQL-style formatted date-time strings.
    "2007-11-11 12:13:14"
)                                   // Returns a `Timestamp` object.
.toInstant()                        // Converts from terrible legacy classes to modern *java.time* class.

java.sql.Timestamp.valueOf解析SQL格式

如果您可以使用年份的完整四位數字,則輸入字符串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框架可以更輕松地驗證結果。 jsTimestamp類有一個討厭的習慣,即在通過toString方法生成字符串表示時隱式應用JVM的當前默認時間戳。 相反,java.time類默認使用標准的ISO 8601格式。

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

你甚至可以嘗試這個。

   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.
    }

使用大寫HH來獲取一天中的小時格式,而不是上午/下午小時

您可以將String轉換為Timestamp:

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

使用下面的代碼將String Date轉換為Epoc Timestamp。 注意: - 您的輸入日期格式應與SimpleDateFormat匹配。

String inputDateInString= "8/15/2017 12:00:00 AM";
SimpleDateFormat dateFormat = new SimpleDateFormat("MM/dd/yyy hh:mm:ss");

Date parsedDate = dateFormat.parse("inputDateInString");

Timestamp timestamp = new java.sql.Timestamp(parsedDate.getTime());

System.out.println("Timestamp "+ timestamp.getTime());

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM