2016-11-01 17 views
0

私はこれについて数百もの類似の質問があることを知っていますが、私は正解を見つけるのに苦労します。2つの異なる形式の日付間の時間差を計算する

私はこの形式でバックエンドからの文字列内のいくつかの日付を持っている:

String days = "2016-12-01T15:43:42.2737987+01:00"; 

私の簡単な日のフォーマッタは次のようになります。私はこのように今日の日付を取得しようとしている

private DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'", Locale.getDefault()); 

を:

String currentDateandTime = sdf.format(new Date()); 

と私の違いは、次のようになります。

public void daysBetween(String date1, String date2) { 
    Date mDate1; 
    Date mDate2; 
    try { 
     mDate1 = sdf.parse(date1); 
     mDate2 = sdf.parse(date2); 
     dateDiff = (mDate1.getTime() - mDate2.getTime())/(24 * 60 * 60 * 1000); 
     days = String.valueOf(dateDiff); 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
} 

ので、ここでの問題は、これら二つの日付を調整する方法はあります...私はそうで、時々私は時々、秒間2を7桁の数字を得るため、「日」の文字列解析、およびすることはできません日差を取得するには?

+0

使用中の時間帯があります「YYYY-MM-dd'T'HH:MM:ss.SSSSSSS'Z」」のためにこれはミリ秒間に7つのフィールドを追加するはずです。それがうまくいかない場合は、2つの異なるフォーマットを使用します(2つ1つと7桁に1つ) – X3Btel

+0

ライブラリをインポートしても構いません。 – nasch

+0

7つのフィールドまたは何の番号のもの、私はそれらのどれくらいを得るのかわかりません...私が取り組んでいるこのプロジェクトはすでにかなり大きいので、もっとライブラリを追加することは実際にはオプションではありません必要な:) :)何とか秒とこの+01:00を除外する方法はありますか? – joe

答えて

0
String formatedDays = days.substring(0,18)+ days.substring(days.lastIndexOf("+")); 

これは、わずか数秒であなたの日付文字列を行いますと、それは

関連する問題