2016-12-06 7 views
-1

私は以下の時間をミリ秒に変換しようとしていましたが、できませんでした。これは私の時間ですフォーマット。誰でも助けてくれますか?私は次のコードを試しました。"7 Jan 2016 18:03:32"の時間だけがミリ秒単位で表示されます。時間形式をミリ秒に変換する方法2016年1月7日18:03:32 +0200

例:2016年1月7日18時03分32秒0200

私のコードは次のようです。

if(requiredOnlyDate.find()){ 


    String dateWithTime=requiredOnlyDate.group(); 
    SimpleDateFormat sdf = new SimpleDateFormat("dd MMM yyyy hh:mm:ss"); 
    String dateInString =dateWithTime ; 

    Date date = sdf.parse(dateInString); 
    System.out.println(date.getTime()); 
    } 
+2

を更新しました。小文字の 'hh'は12時間の時間(値1〜12)を表し、24時間を解析しようとしているので、' HH'を使うべきです。また、タイムゾーン情報( '+ 0200'パーツ)を解析しようとするときには、SimpleDateFormatパターンにその情報を含める必要もあります。 –

+0

私は今、私のためにうまく働いた以下の行を使用します。とにかくありがとう。 SimpleDateFormat sdf =新しいSimpleDateFormat( "dd MMM yyyy HH:mm:ss Z"); – Vikas

答えて

0

使用する必要がある日付形式は、解析する日付文字列と一致する必要があります。

まず、24時間制のシステム(18:03:02)を解析しているので、hhの代わりにHHを使用してください。

また、+0200はタイムゾーンを表しているため、日付形式にZを含める必要があります。

だからあなたの最後の日付形式は、それが助け場合、私に知らせてください

String dateWithTime=requiredOnlyDate.group(); 
SimpleDateFormat sdf = new SimpleDateFormat("dd MMM yyyy HH:mm:ss Z"); 
...//do whatever you want 

になります。

+0

なぜダウン投票? – SachinSarawgi

+0

これは動作しますが、少なくともフォーマットを試してください。 – SachinSarawgi

+0

@Vikasはこの作業を行いますか? – SachinSarawgi

0

次のコードを使用できます。そこには、"dd MMM yyyy HH:mm:ss Z"のように時間形式が使われています。私はをチェックしました。 "dd MMM yyyy HH:mm:ss +SSS"この形式は、文字列から日付への変換にも役立ちました。

 String dateWithTime = "7 Jan 2016 18:03:32 +0200"; 
     SimpleDateFormat sdf = new SimpleDateFormat("dd MMM yyyy HH:mm:ss Z"); 
     String dateInString = dateWithTime; 

     Date date = sdf.parse(dateInString); 
     System.out.println(date.getTime()); 

てSimpleDateFormatのドキュメントを読んで

+0

時間は24時間ベースのシステムで、12時間ベースのシステムの場合は 'hh'を使用しています。それは働くでしょうか? – SachinSarawgi

+0

修正していただきありがとうございます – Coder

関連する問題