2009-04-08 13 views
0

は、私が( "日時")は、JavaでJavaとMySQLの日付の問題

rs.getTimestampを行います。データベースで

、この日時は2009年3月6日2時47分18秒は

ですが、時間は14時47分18秒

として返され、私は、MySQLの日付について非常に精通していませんよ、私はこれがなぜ起こっているのかについての説明を感謝します。

+0

であるあなたがDBでの時間は午前2時47分18秒PMでないことを確認していますか?それはちょうど14:47:18 –

+0

となるからです。 時間を使ってレコードを取得するのはちょっと複雑です – kilhra

答えて

2

問題ではありません。それはMySQLやデータベースではありません。これは、タイムスタンプがデフォルトで表示される形式です。それはそれが日付か何かを逃したことを意味しません。

コード内の任意の形式で、このメソッドから返されたタイムスタンプをいつでも書式設定できます。 java.text.SimpleDateFormatクラスをチェックしてください。または、もっとよく洗練されたJoda Timeをチェックしてください。

+0

HHmmssを自分のフォーマットとして使ってSimpleDateFormatterを使ってフォーマットします。 – kilhra

+0

小さな「h」を試してください。 "hhmmss a"のようなもの –

+0

MySQLと同じように "yyyy/MM/dd hh:mm:ss"を試してみてください –

1

2つのもの。まず、サンプルコードが必要だと思います。何が起こっているかは、あなたが私たちに与えたものから全く明らかではありません。コンテキスト、使用法、DBスキーマ、およびサンプル行も表示されます。

第2に、ResultSet.getTimestamp()は、任意の種類の文字列ではなく、Timestampのオブジェクトを返す必要があります。

0

SimpleDateFormat time = new SimpleDateFormat( "HHmmss");

datime = time.format(rs.getTimestamp( "日時"))

、次いでdatimeがファイルに出力されます。

テーブルの日時列はdatetimeデータ型

+0

正確なMySQLとして、 "yyyy/MM/dd hh:mm:ss" –