0

日付を含むファイル(yyyy/MM/dd形式)を読み込み、Datastax Java Driverを使用して日付を読み取り、それをcassandraテーブルに追加するプログラムを作成しました。 たとえば、私のレコードに '2010/06/01'の日付値が含まれている場合、この日付値は(SimpleDateFormatクラスを使用して)日付オブジェクトに変換されます。Cassandra:タイムスタンプ値のタイムゾーンを無視する

Iは、データベース内の(日付を含む)データを表示するときしかし、私は(カサンドラテーブルのタイムスタンプ型である)日付は、以下を示すことがわかる。

2010-06-01 00:00:00+0100 

問題ここで私はタイムスタンプに "+0100"(英国の夏の時間であることを示すため)が必要ではなく、 "2010-06-01 00:00:00 + 0000"のように日付を保存したいと思っています"

私がしようとすると、以下の操作を実行してタイムゾーンを「無視」するために私のプログラムに次のことをやった:私は私のプログラムにデバッグ文を追加したときに今、私はそれを見ることができます...

SimpleTimeZone tz = new SimpleTimeZone(0, "Out Timezone");    
    TimeZone.setDefault(tz); 
    String dateStringFromFile = "2010/06/01"; 
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd"); 
    Date theDate = sdf.parse(dateStringFromFile); 

ログファイルに "2010-06-01 00:00:00 + 0000"と表示されます(これは私にとっては正しいことです)。しかし、私はカサンドラに保存されている日付を見ると、私はまだ "2010-06-01 00:00:00 + 0000"ではなく、 "2010-06-01 00:00:00 + 0100"

タイムゾーンを無視する(すなわち、日付に+0100を入れずに+0000を入れないように)変更または更新する必要があることはありますか?タイムスタンプは「2010-06- 01 00:00:00 + 0000」?

何かアドバイスが高く評価され

のJava 8、私はドッカーVM(のCentOSのLinux)上カサンドラ3.0.5を実行していますのでご注意ください。

ありがとうございました。

+0

データをどのように表示しますか? cqlshでcqlshrcファイルのUIセクションを変更した場合 –

+0

こんにちは、DBeaver(UIプログラム)を使用しています。 – rm12345

+0

それは奇妙なことかもしれません。あなたのJavaコードまたはcqlshを確認する –

答えて

0

この解決策は選別されました。 cqlshrcとは関係ありません。タイムゾーンを強制的に0(元のポストのコードのように)し、時間をミリ秒単位で取得してデータベースに書き込む - タイムスタンプタイプの列

関連する問題