2014-08-28 41 views
0

我把mysql的日期時間字段讀入一個字符串,例如比較得到java和mysql之間的秒差datetime

String arriveTime = rs1.getString("arriveTime"); 

下一步我設法用java是像我從MySQL得到了類似的格式顯示當前日期和時間。

DateFormat outDf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
String currentDateTimer=null; 
        Date date = Calendar.getInstance().getTime(); 
        currentDateTimer=outDf.format(date); 

我該如何減去currentDateTime和arrivalTime以獲得以秒爲單位的淨結果。我寧願純粹通過java來完成它

+0

'select unix_timestamp() - unix_timestamp(yourfield)' – 2014-08-28 18:09:37

+0

_get the net results in seconds_?給你一個你想要的例子:) – 2014-08-28 18:10:54

+0

你可以添加'arriveTime'的格式嗎? – Jens 2014-08-28 18:11:29

回答

0

首先,我不會將MySQL日期時間讀入String。我要改變這一點,

String arriveTime = rs1.getString("arriveTime"); 

java.sql.Date arriveTime = rs1.getDate("arriveTime"); 

然後你可以使用基本的減法得到結果以毫秒爲單位,然後通過千分獲得,在秒 - 所以

long diff = new java.util.Date().getTime() - arriveTime.getTime(); 
System.out.println(diff/1000); 
+0

所以我不需要格式的東西,我做了儀式 – user3953386 2014-08-28 18:14:53

+0

@ user3953386不與這裏的方法。你也不需要日曆。雖然你可以隨時使用日曆(或喬達時間)來做。 – 2014-08-28 18:15:42

+0

我想我會按照你的方法更簡單一些。謝謝。 – user3953386 2014-08-28 18:19:46

0

I read a mysql date time field into one string

如果列是varchar類型,那麼您可以使用0來讀取它

但是如果你的列類型是日期則它總是建議使用resultset.getDate()

Mysql的存儲格式爲日期yyyy-MM-dd

I try to get the current date and time using java to be similar format 
like the one I got from mysql. 

當你做resultset.getDate()它會給你得到的價值java.sql.Date,格式爲yyyy-MM-dd